亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

20 個(gè) CSS 高級(jí)技巧匯總

Java3y / 815人閱讀

摘要:當(dāng)然,如果你的新元素有兄弟元素的話,也可以使用通用的兄弟選擇符頁面頂部陰影下面這個(gè)簡單的代碼片段可以給網(wǎng)頁加上漂亮的頂部陰影效果給添加行高你不需要分別添加到每個(gè)標(biāo)記等。

使用技巧會(huì)讓人變的越來越懶,沒錯(cuò),我就是想讓你變懶。下面是我收集的CSS高級(jí)技巧,希望你懶出境界。

1. 黑白圖像

這段代碼會(huì)讓你的彩色照片顯示為黑白照片,是不是很酷?

img.desaturate {
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
}
2. 使用 :not() 在菜單上應(yīng)用/取消應(yīng)用邊框

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

/* add border */
.nav li {
  border-right: 1px solid #666;
}

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

// remove border /

.nav li:last-child {
  border-right: none;
}

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

.nav li:not(:last-child) {
  border-right: 1px solid #666;
}

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

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

..nav li:first-child ~ li {

  border-left: 1px solid #666;
}
3. 頁面頂部陰影

下面這個(gè)簡單的 CSS3 代碼片段可以給網(wǎng)頁加上漂亮的頂部陰影效果:

body:before {
          content: "";
          position: fixed;
          top: -10px;
          left: 0;
          width: 100%;
          height: 10px;
 
          -webkit-box-shadow: 0px 0px 10px rgba(0,0,0,.8);
          -moz-box-shadow: 0px 0px 10px rgba(0,0,0,.8);
          box-shadow: 0px 0px 10px rgba(0,0,0,.8);
 
          z-index: 100;
}
4. 給 body 添加行高

你不需要分別添加 line-height 到每個(gè)p,h標(biāo)記等。只要添加到 body 即可:

body {
  line-height: 1;
}

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

5. 所有一切都垂直居中

要將所有元素垂直居中,太簡單了:

html, body {
  height: 100%;
  margin: 0;
}

body {
  -webkit-align-items: center;  
  -ms-flex-align: center;  
  align-items: center;
  display: -webkit-flex;
  display: flex;
}

看,是不是很簡單。

注意:在IE11中要小心flexbox。

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

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

ul > li:not(:last-child)::after {
  content: ",";
}

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

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

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

li {
  display: none;
}

/* select items 1 through 3 and display them */
li:nth-child(-n+3) {
  display: block;
}
8. 對圖標(biāo)使用 SVG

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

.logo {
  background: url("logo.svg");
}

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

9. 優(yōu)化顯示文本

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

html {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

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

10. 對純 CSS 滑塊使用 max-height

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

.slider ul {
  max-height: 0;
  overlow: hidden;
}

.slider:hover ul {
  max-height: 1000px;
  transition: .3s ease;
}
11. 繼承 box-sizing

讓 box-sizing 繼承 html:

html {
  box-sizing: border-box;
}

*, *:before, *:after {
  box-sizing: inherit;
}

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

12. 表格單元格等寬

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

.calendar {
  table-layout: fixed;
}
13. 用 Flexbox 擺脫外邊距的各種 hack

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

.list {
  display: flex;
  justify-content: space-between;
}

.list .person {
  flex-basis: 23%;
}

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

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

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

a[href^="http"]:empty::before {
  content: attr(href);
}

相當(dāng)方便。

15. 檢測鼠標(biāo)雙擊

HTML:


CSS:

.test3 span {
  position: relative;
}
.test3 span a {
  position: relative;
  z-index: 2;
}
.test3 span a:hover, .test3 span a:active {
  z-index: 4;
}
.test3 span input {
  background: transparent;
  border: 0;
  cursor: pointer;
  position: absolute;
  top: -1px;
  left: 0;
  width: 101%;  /* Hacky */
  height: 301%; /* Hacky */
  z-index: 3;
}
.test3 span input:focus {
  background: transparent;
  border: 0;
  z-index: 1;
}
16. CSS 寫出三角形
/* create an arrow that points up */
div.arrow-up {
  width:0px;
  height:0px;
  border-left:5px solid transparent;  /* left arrow slant */
  border-right:5px solid transparent; /* right arrow slant */
  border-bottom:5px solid #2f2f2f; /* bottom, add background color here */
  font-size:0px;
  line-height:0px;
}
 
/* create an arrow that points down */
div.arrow-down {
  width:0px;
  height:0px;
  border-left:5px solid transparent;
  border-right:5px solid transparent;
  border-top:5px solid #2f2f2f;
  font-size:0px;
  line-height:0px;
}
 
/* create an arrow that points left */
div.arrow-left {
  width:0px;
  height:0px;
  border-bottom:5px solid transparent;  /* left arrow slant */
  border-top:5px solid transparent; /* right arrow slant */
  border-right:5px solid #2f2f2f; /* bottom, add background color here */
  font-size:0px;
  line-height:0px;
}
 
/* create an arrow that points right */
div.arrow-right {
  width:0px;
  height:0px;
  border-bottom:5px solid transparent;  /* left arrow slant */
  border-top:5px solid transparent; /* right arrow slant */
  border-left:5px solid #2f2f2f; /* bottom, add background color here */
  font-size:0px;
  line-height:0px;
}
17. CSS3 calc() 的使用

calc() 用法類似于函數(shù),能夠給元素設(shè)置動(dòng)態(tài)的值:

/* basic calc */
.simpleBlock {
  width: calc(100% - 100px);
}
 
/* calc in calc */
.complexBlock {
  width: calc(100% - 50% / 3);
  padding: 5px calc(3% - 2px);
  margin-left: calc(10% + 10px);
}
18. 文本漸變

文本漸變效果很流行,使用 CSS3 能夠很簡單就實(shí)現(xiàn):

h2[data-text] {
??position: relative;
}
h2[data-text]::after {
??content: attr(data-text);
??z-index: 10;
??color: #e3e3e3;
??position: absolute;
??top: 0;
??left: 0;
??-webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,0)), color-stop(50%, rgba(0,0,0,1)), to(rgba(0,0,0,0)));}
19. 禁用鼠標(biāo)事件

CSS3 新增的 pointer-events 讓你能夠禁用元素的鼠標(biāo)事件,例如,一個(gè)連接如果設(shè)置了下面的樣式就無法點(diǎn)擊了。

.disabled { pointer-events: none; }
20. 模糊文本

簡單但很漂亮的文本模糊效果,簡單又好看!

.blur {
   color: transparent;
   text-shadow: 0 0 5px rgba(0,0,0,0.5);
}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/111186.html

相關(guān)文章

  • 前端最強(qiáng)面經(jīng)匯總

    摘要:獲取的對象范圍方法獲取的是最終應(yīng)用在元素上的所有屬性對象即使沒有代碼,也會(huì)把默認(rèn)的祖宗八代都顯示出來而只能獲取元素屬性中的樣式。因此對于一個(gè)光禿禿的元素,方法返回對象中屬性值如果有就是據(jù)我測試不同環(huán)境結(jié)果可能有差異而就是。 花了很長時(shí)間整理的前端面試資源,喜歡請大家不要吝嗇star~ 別只收藏,點(diǎn)個(gè)贊,點(diǎn)個(gè)star再走哈~ 持續(xù)更新中……,可以關(guān)注下github 項(xiàng)目地址 https:...

    wangjuntytl 評(píng)論0 收藏0
  • 架構(gòu)師之路

    摘要:因?yàn)橛脩舨挥迷诘谝淮芜M(jìn)入應(yīng)用時(shí)下載所有代碼,用戶能更快的看到頁面并與之交互。譯高階函數(shù)利用和來編寫更易維護(hù)的代碼高階函數(shù)可以幫助你增強(qiáng)你的,讓你的代碼更具有聲明性。知道什么時(shí)候和怎樣使用高階函數(shù)是至關(guān)重要的。 Vue 折騰記 - (10) 給axios做個(gè)挺靠譜的封裝(報(bào)錯(cuò),鑒權(quán),跳轉(zhuǎn),攔截,提示) 稍微改改都能直接拿來用~~~喲吼吼,喲吼吼..... 如何無痛降低 if else 面...

    NikoManiac 評(píng)論0 收藏0
  • 個(gè)人分享--web前端學(xué)習(xí)資源分享

    摘要:前言月份開始出沒社區(qū),現(xiàn)在差不多月了,按照工作的說法,就是差不多過了三個(gè)月的試用期,準(zhǔn)備轉(zhuǎn)正了一般來說,差不多到了轉(zhuǎn)正的時(shí)候,會(huì)進(jìn)行總結(jié)或者分享會(huì)議那么今天我就把看過的一些學(xué)習(xí)資源主要是博客,博文推薦分享給大家。 1.前言 6月份開始出沒社區(qū),現(xiàn)在差不多9月了,按照工作的說法,就是差不多過了三個(gè)月的試用期,準(zhǔn)備轉(zhuǎn)正了!一般來說,差不多到了轉(zhuǎn)正的時(shí)候,會(huì)進(jìn)行總結(jié)或者分享會(huì)議!那么今天我就...

    sherlock221 評(píng)論0 收藏0
  • 前端知識(shí)點(diǎn)整理

    摘要:難怪超過三分之一的開發(fā)人員工作需要一些知識(shí)。但是隨著行業(yè)的飽和,初中級(jí)前端就業(yè)形勢不容樂觀。整個(gè)系列的文章大概有篇左右,從我是如何成為一個(gè)前端工程師,到各種前端框架的知識(shí)。 為什么 call 比 apply 快? 這是一個(gè)非常有意思的問題。 作者會(huì)在參數(shù)為3個(gè)(包含3)以內(nèi)時(shí),優(yōu)先使用 call 方法進(jìn)行事件的處理。而當(dāng)參數(shù)過多(多余3個(gè))時(shí),才考慮使用 apply 方法。 這個(gè)的原因...

    Lowky 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<