css高階技巧彙總
阿新 • • 發佈:2019-02-12
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;
}