欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一波CSS高級(jí)實(shí)用技巧小結(jié)

codeceo   發(fā)布時(shí)間:2015-11-06 11:35:26   作者:佚名   我要評(píng)論
這篇文章主要介紹了一波CSS高級(jí)實(shí)用技巧小結(jié),隨看隨記,歡迎收藏~需要的朋友可以參考下

使用 :not() 在菜單上應(yīng)用/取消應(yīng)用邊框

先給每一個(gè)菜單項(xiàng)添加邊框

CSS Code復(fù)制內(nèi)容到剪貼板
  1. /* add border */  
  2. .nav li {   
  3.   border-right1px solid #666;   
  4. }  

……然后再除去最后一個(gè)元素……

CSS Code復(fù)制內(nèi)容到剪貼板
  1. //* remove border */  
  2.   
  3. .nav li:last-child {   
  4.   border-rightnone;   
  5. }  

……可以直接使用 :not() 偽類來(lái)應(yīng)用元素:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. .nav li:not(:last-child) {   
  2.   border-right1px solid #666;   
  3. }  

這樣代碼就干凈,易讀,易于理解了。

當(dāng)然,如果你的新元素有兄弟元素的話,也可以使用通用的兄弟選擇符(~):

CSS Code復(fù)制內(nèi)容到剪貼板
  1. ..nav li:first-child ~ li {   
  2.   
  3.   border-left1px solid #666;   
  4. }  

給 body添加行高

你不需要分別添加 line-height 到每個(gè) <p>,<h*>等。只要添加到 body 即可:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. body {   
  2.   line-height: 1;   
  3. }  

這樣文本元素就可以很容易地從 body 繼承。

所有一切都垂直居中

要將所有元素垂直居中,太簡(jiǎn)單了:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. html, body {   
  2.   height: 100%;   
  3.   margin: 0;   
  4. }   
  5.   
  6. body {   
  7.   -webkit-align-items: center;     
  8.   -ms-flex-align: center;     
  9.   align-items: center;   
  10.   display: -webkit-flex;   
  11.   display: flex;   
  12. }  

看,是不是很簡(jiǎn)單。

注:在IE11中要小心flexbox。

逗號(hào)分隔的列表

讓HTML列表項(xiàng)看上去像一個(gè)真正的,用逗號(hào)分隔的列表:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. ul > li:not(:last-child)::after {   
  2.   content",";   
  3. }  

對(duì)最后一個(gè)列表項(xiàng)使用 :not() 偽類。

使用負(fù)的 nth-child 選擇項(xiàng)目

在CSS中使用負(fù)的 nth-child 選擇項(xiàng)目1到項(xiàng)目n。

CSS Code復(fù)制內(nèi)容到剪貼板
  1. li {   
  2.   displaynone;   
  3. }   
  4.   
  5. /* select items 1 through 3 and display them */  
  6. li:nth-child(-n+3) {   
  7.   displayblock;   
  8. }  

就是這么容易。

對(duì)圖標(biāo)使用SVG

我們沒有理由不對(duì)圖標(biāo)使用SVG:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. .logo {   
  2.   backgroundurl("logo.svg");   
  3. }  

SVG對(duì)所有的分辨率類型都具有良好的擴(kuò)展性,并支持所有瀏覽器都回歸到IE9。這樣可以避開.png、.jpg或.gif文件了。

優(yōu)化顯示文本

有時(shí),字體并不能在所有設(shè)備上都達(dá)到最佳的顯示,所以可以讓設(shè)備瀏覽器來(lái)幫助你:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. html {   
  2.   -moz-osx-font-smoothing: grayscale;   
  3.   -webkit-font-smoothing: antialiased;   
  4.   text-rendering: optimizeLegibility;   
  5. }  

注:請(qǐng)負(fù)責(zé)任地使用 optimizeLegibility。此外,IE /Edge沒有 text-rendering 支持。

對(duì)純CSS滑塊使用 max-height

使用 max-height 和溢出隱藏來(lái)實(shí)現(xiàn)只有CSS的滑塊:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. .slider ul {   
  2.   max-height: 0;   
  3.   overlow: hidden;   
  4. }   
  5.   
  6. .slider:hover ul {   
  7.   max-height1000px;   
  8.   transition: .3s ease;   
  9. }  

繼承 box-sizing

讓 box-sizing 繼承 html:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. html {   
  2.   box-sizing: border-box;   
  3. }   
  4.   
  5. *, *:before, *:after {   
  6.   box-sizing: inherit;   
  7. }  

這樣在插件或杠桿其他行為的其他組件中就能更容易地改變 box-sizing 了。

表格單元格等寬

表格工作起來(lái)很麻煩,所以務(wù)必盡量使用 table-layout: fixed 來(lái)保持單元格的等寬:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. .calendar {   
  2.   table-layoutfixed;   
  3. }  

用Flexbox擺脫外邊距的各種hack

當(dāng)需要用到列分隔符時(shí),通過flexbox的 space-between 屬性,你就可以擺脫nth-,first-,和 last-child 的hack了:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. .list {   
  2.   display: flex;   
  3.   justify-content: space-between;   
  4. }   
  5.   
  6. .list .person {   
  7.   flex-basis: 23%;   
  8. }  

現(xiàn)在,列表分隔符就會(huì)在均勻間隔的位置出現(xiàn)。

使用屬性選擇器用于空鏈接

當(dāng) <a> 元素沒有文本值,但 href 屬性有鏈接的時(shí)候顯示鏈接:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. a[href^="http"]:empty::before {   
  2.   contentattr(href);   
  3. }  

相當(dāng)方便。

相關(guān)文章

最新評(píng)論