【譯】一些你不知道的CSS屬性

Box-sizing

儘管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

z-index和定位

若是元素沒有定位屬性,如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顯示屏

能夠用下面的媒體查詢檢測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

@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屬性

相關文章
相關標籤/搜索