CSS高級技巧

    時間:2024-07-20 09:33:09 CSS 我要投稿
    • 相關推薦

    CSS高級技巧匯總

      CSS不僅可以靜態地修飾網頁,還可以配合各種腳本語言動態地對網頁各元素進行格式化。CSS有哪些高級技巧?yjbys小編為大家分析CSS最實用技巧如下:

      1、使用 :not() 在菜單上應用/取消應用邊框

      先給每一個菜單項添加邊框

      /* add border */

      .nav li {

      border-right: 1px solid #666;

      }

      ……然后再除去最后一個元素……

      //* remove border */

      .nav li:last-child {

      border-right: none;

      }

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

      .nav li:not(:last-child) {

      border-right: 1px solid #666;

      }

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

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

      ..nav li:first-child ~ li {

      border-left: 1px solid #666;

      }

      2、給 body添加行高

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

      body {

      line-height: 1;

      }

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

      3、所有一切都垂直居中

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

      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。

      4、逗號分隔的列表

      讓HTML列表項看上去像一個真正的,用逗號分隔的列表:

      ul > li:not(:last-child)::after {

      content: ",";

      }

      對最后一個列表項使用 :not() 偽類。

      5、使用負的 nth-child 選擇項目

      在CSS中使用負的 nth-child 選擇項目1到項目n。

      li {

      display: none;

      }

      /* select items 1 through 3 and display them */

      li:nth-child(-n+3) {

      display: block;

      }

      就是這么容易。

      6、對圖標使用SVG

      我們沒有理由不對圖標使用SVG:

      .logo {

      background: url("logo.svg");

      }

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

      7、優化顯示文本

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

      html {

      -moz-osx-font-smoothing: grayscale;

      -webkit-font-smoothing: antialiased;

      text-rendering: optimizeLegibility;

      }

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

      8、對純CSS滑塊使用 max-height

      使用 max-height 和溢出隱藏來實現只有CSS的滑塊:

      .slider ul {

      max-height: 0;

      overlow: hidden;

      }

      .slider:hover ul {

      max-height: 1000px;

      transition: .3s ease;

      }

      9、繼承 box-sizing

      讓 box-sizing 繼承 html:

      html {

      box-sizing: border-box;

      }

      *, *:before, *:after {

      box-sizing: inherit;

      }

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

      10、表格單元格等寬

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

      .calendar {

      table-layout: fixed;

      }

      11、用Flexbox擺脫外邊距的各種hack

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

      .list {

      display: flex;

      justify-content: space-between;

      }

      .list .person {

      flex-basis: 23%;

      }

      現在,列表分隔符就會在均勻間隔的位置出現。

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

      當 <a> 元素沒有文本值,但 href 屬性有鏈接的時候顯示鏈接:

      a[href^="http"]:empty::before {

      content: attr(href);

      }

      相當方便。

      這些高級技巧在Chrome、Firefox、Safari、Edge的當前版本,以及IE11中都能有效工作。

    【CSS高級技巧】相關文章:

    css 書寫技巧 CSS 技巧教程簡介07-02

    CSS入門知識-圖片水平對齊技巧07-20

    關于HTML技巧之CSS的優先權10-05

    CSS實用教程:CSS命名10-05

    div+css必看的css重則06-27

    山路高級駕駛技巧09-15

    Javascript高級技巧匯總11-05

    網球打法的高級技巧07-21

    jQuery css方法動態修改CSS屬性07-06

    Excel高級編輯技巧推薦11-04

    91久久大香伊蕉在人线_国产综合色产在线观看_欧美亚洲人成网站在线观看_亚洲第一无码精品立川理惠

      日韩情欲在线视频 | 日韩中文字幕有码在线 | 亚洲一区二区三区国产精品 | 亚洲国产日韩a在线播放 | 亚洲国产综合精品中文第一区 | 亚洲黑白配在线观看 |