首頁  >  文章  >  web前端  >  幾個css的黑科技

幾個css的黑科技

伊谢尔伦
伊谢尔伦原創
2016-12-01 09:17:181862瀏覽

這裡的黑科技其實就是一些CSS中不太為人所知但在解決某些問題的時候很溜的屬性。

 border-radius

  很多開發者估計都沒有正確認識這個border-radius,因為基本上很多人都是這麼用的:

.box {
  border-radius: 4px;
}

  rr]稍微黑道的是這樣的:高端

.box {
  border-radius: 4px 6px 6px 4px;
}

  rr㜀是這樣用的:

.box {
  border-radius: 5px 5px 3px 2px / 5px 5px 1px 3px;
}

  對,它可以賦8個值,沒看過?不急,具體的解釋是這樣的:

斜線前面的影響的是水平方向,斜線後面影響的是垂直方向,各個數字就分別代表四個不一樣的方向。

outline-offset

  相信很多開發者在寫CSS的時候對下面的語句會很熟悉:

input {
    outline : none;
}
input:focus {
    outline : none;
}

  這就是將input輸入框去掉預設的藍色線框的方法。其實,這裡還有說一個就是,CSS中還有一個outline-offset屬性,在這個屬性中,你可以設定預設線框的距離;像這樣

input {
    outline-offset: 4px ;
}

  調節該屬性值的大小你就可以看到outline的距離變化了。

類的聲明

  對於下面的類別的聲明,可能大家都很熟悉:

.col-8 {
}

  這當然沒什麼,但是如果你這樣寫呢:

.♥ {
  color: hotpink;
}
.★ {
  color: yellow;
}

   嗯沒什麼,看起來怎麼樣:

<div class="♥ ★"></div>

  只要是Unicode的,你都可以這麼來宣告你的類別。

  選中連續的幾個元素

ol li:nth-child(n+7):nth-child(-n+14) {
  background: lightpink;
}
/** Or Safari Way **/
ol li:nth-child(-n+14):nth-child(n+7) {
  background: lightpink;
}

  上面的這種寫法其實就可以達到選中ol下面的第七到第十四個li元素。

偽類設定單標籤

  html中有幾個常見的單標籤:
,


等。

下面的範例是實現對


的修飾。
hr:before {
    content: "♪♪";
}
hr:after {
    content: " This is an <hr> element";
}

  沒錯,關鍵就是使用:before和:after這兩個偽類。在這裡,順便說一點就是,其實你還可以用這兩個偽類來修飾,不過這個前提是,你把這兩個的display屬性設定為:

display: block

屬性區分大小寫

  假如我們在寫html的時候有類似下面的程式碼:

<div class="box"></div>
<input type="email">

  然後我們用屬性選擇器進行CSS修飾:

div[class="box"] {
  color: blue;
}
input[type="email"] {
  border: solid 1px red;
}

  這樣的聲明方式毫無疑問地就會生效。然而,如果我們宣告成下面這個樣子,結果會是怎麼樣的呢:

div[class="box"] {
  color: blue;
}
input[type="email"] {
  border: solid 1px red;
}

  這變成了大寫之後,第一個class="BOX"並不會影響到

,而第二個type="EMAIL"還是會正常修飾。所以在使用屬性選擇器的時候,注意大小寫問題。


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn