這篇文章主要介紹了CSS中值得記住的一些技巧,文中介紹的這些屬性在平時的應用中雖然不是經常能夠見到,但非常有效率,需要的朋友可以參考下
Box-sizing
盡管box-sizing在CSS3中才被引入,其有一個值是border-box,讓元素的高和寬包含了填充和邊框。
CSS Code復制內容到剪貼板
.div {
width: 150px;
height: 100px;
border: 1px solid #ccc;
box-sizing: border-box;
}
Chrome 31+, IE8+, Firefox 31+, Safari 7+, Opera 27+, iOS Safari 7.1+ and Android Browser 4.1+等都支持該屬性。
z-index和定位
如果元素沒有定位屬性,如static/absolute/relative/fixed,改屬性將被忽略
CSS Code復制內容到剪貼板
position: relative;
z-index: 100;
禁用一個元素
可以使用pointer-event屬性的一個none值來有效的禁用元素。不管是JQuery還是JavaScript,點擊事件都不會被觸發
CSS Code復制內容到剪貼板
.bricked {
pointer-events: none;
}
Chrome 31+, IE11+, Firefox 31+, Safari 7+, Opera 27+, iOS Safari 7.1+ and Android Browser 4.1+支持該屬性
長鏈接換行
阻止長鏈接溢出父元素
CSS Code復制內容到剪貼板
a {
word-wrap: break-word;
}
用媒體查詢檢測Retina顯示屏
可以用下面的媒體查詢檢測Retina顯示屏
CSS Code復制內容到剪貼板
@media
(min-device-pixel-ratio: 2),
(min-resolution: 192dpi) {
/* Retina CSS */
}
過濾
除了IE,filter屬性被廣泛的支持,但可能會被Spartan支持。在接下來的幾十年,它會是一個大事件。
CSS Code復制內容到剪貼板
.blur {
filter: blur(30px);
}
Chrome 31+, Firefox 35+, Safari 7+, Opera 27+, iOS Safari 7.1+ and Android Browser 4.4+等支持該屬性
用省略號縮短文本
可以在一個元素中用省略號來縮短長文本
CSS Code復制內容到剪貼板
.whatever {
overflow: hidden;
text-overflow: ellipsis;
}
讓一個空元素服從寬度
有時你需要一個空元素去遵循它的寬度屬性,可以這樣做:
CSS Code復制內容到剪貼板
.whatever {
min-height: 1px;
}
@supports
@supports查詢和@media查詢類似,若浏覽器支持,則給定的CSS將會顯示。目前,IE和Safari不支持該屬性,但不久後就會改變。Spartan承諾支持該屬性,值得期待
CSS Code復制內容到剪貼板
@supports (display: flex) {
/* flexbox CSS */
}
@supports not (display: flex) {
/* CSS for no flexbox */
}
Chrome 31+, Firefox 31+, Opera 27+ and Android Browser 4.4+等支持該屬性。