儘管box-sizing在CSS3中才被引入,其有一個值是border-box,讓元素的高和寬包含了填充和邊框。css
.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+等都支持該屬性。html
若是元素沒有定位屬性,如static/absolute/relative/fixed,改屬性將被忽略瀏覽器
position: relative; z-index: 100;
能夠使用pointer-event屬性的一個none值來有效的禁用元素。無論是JQuery仍是JavaScript,點擊事件都不會被觸發flex
.bricked { pointer-events: none; }
Chrome 31+, IE11+, Firefox 31+, Safari 7+, Opera 27+, iOS Safari 7.1+ and Android Browser 4.1+支持該屬性flexbox
阻止長連接溢出父元素code
a { word-wrap: break-word; }
ps:相關文章:CSS換行htm
能夠用下面的媒體查詢檢測Retina顯示屏blog
@media (min-device-pixel-ratio: 2), (min-resolution: 192dpi) { /* Retina CSS */ }
除了IE,filter屬性被普遍的支持,但可能會被Spartan支持。在接下來的幾十年,它會是一個大事件。事件
.blur { filter: blur(30px); }
Chrome 31+, Firefox 35+, Safari 7+, Opera 27+, iOS Safari 7.1+ and Android Browser 4.4+等支持該屬性ip
能夠在一個元素中用省略號來縮短長文本
.whatever { overflow: hidden; text-overflow: ellipsis; }
有時你須要一個空元素去遵循它的寬度屬性,能夠這樣作:
.whatever { min-height: 1px; }
@supports查詢和@media查詢相似,若瀏覽器支持,則給定的CSS將會顯示。目前,IE和Safari不支持該屬性,但不久後就會改變。Spartan承諾支持該屬性,值得期待
@supports (display: flex) { /* flexbox CSS */ } @supports not (display: flex) { /* CSS for no flexbox */ }
Chrome 31+, Firefox 31+, Opera 27+ and Android Browser 4.4+等支持該屬性。
PS:
在知乎的一個專欄上介紹了三個奇淫技巧,頗有用,補充在此文後面:
關於CSS[幾乎]沒人知道的3件事
英文原文:Some CSS you may not know
譯文出處:一些你不知道的CSS屬性