1. 程式人生 > >css高階技巧彙總

css高階技巧彙總

1、彩色照片顯示黑白照片

img.desaturate{
    filter:grayscale(100%);
    -webkit-filter:grayscale(100%);
    -moz-filter:grayscale(100%);
    -ms-filter:grayscale(100%);
    -o-filter:grayscale(100%);

}

2、:not偽類的使用

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

3、兄弟元素選擇符的使用

.nav li:first-child~li{
    border-left
:1px solid #666
; }

4、頁面頂部陰影

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;
}

5、body 新增行高

body
{ line-height:1; }

6、所有一切都垂直居中

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

7、逗號分隔的列表

// 讓html列表項看山去像正真的 , 用逗號分隔的列表
ul>li:not(:last-child
)::after{ content:","; } // 對最後一個列表項使用:not()偽類

8、使用負的nth-child 選擇專案

// 在css中使用負的nth-child 選擇專案1 到專案n
li{
    display:none;
}
li:nth-child(-n+3){
    display:block;
}

9、對圖示使用svg

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

10、優化顯示文字

// 字型在所有裝置上都達到最佳的顯示

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

}

11、對純css滑塊使用max-height

// 使用max-height 和溢位隱藏來實現只有css的滑塊
.slider ul{
    max-height:0;
    overflow:hidden;
}
.slider:hover ul{
    max-height:1000px;
    transition:.3s ease;
}

12、繼承box-sizing

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

13 、 表格單元格等寬

.calendar{
    table-layout:fixed;
}

14、使用屬性選擇器用於空連結

// 當a元素沒有文字值,但href屬性有連結的時候顯示連結;
a[href^="http"]:empty::before{
    content: attr(href);
}

15、模糊文字

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

16、禁用滑鼠事件

// 一個連結如果設定了下面的樣式就無法點選了
.disabled{
    pointer-events:none;
}

17、文字漸變

h3[data-text]{
    position:relative;
}
h3[data-text]::after{
    content:attr(data-text);
    z-index:10;
    color:#ddd;
    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));)
}

18、css3 calc()的使用

.simpleBlock{
    width:calc(100%-100px);
}
.complexBlock{
    width:calc(100%-50%/3);
    padding:5px calc(3%-px);
    margin-left: calc(10%+10px);
}

19、css寫出三角形

div.arrow-up{
    width:0px;
    height:0px;
    border-lef:5px solid transparent;
    border-right:5px solid transparent;
    border-bottom:5px solid blue;
    font-size:0px;
    line-height:0px;
}
div.arrow-down{
    width:0px;
    height:0px;
    border-left:5px solid transparent;
    border-right:5px solid transparent;
    border-top:5px solid red;
    font-size:0px;
    line-height:0px;
}
div.arrow-left{
    width:0px;
    height:0px;
    border-bottom:5px solid transparent;
    border-top:5px solid transparent;
    border-right:5px solid green;
    font-size:0px;
    line-height:0px;
}
div.arrow-right{
    width:0px;
    height:0px;
    border-bottom:5px solid transparent;
    border-top:5px solid transparent;
    border-left:5px solid orange;
    font-size:0px;
    line-height:0px;
}