box-sizing 尽管box-sizing在css3中才被引入,其有一个值是border-box,让元素的高和宽包含了填充和边框。
.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,改属性将被忽略
position: relative;z-index: 100;
禁用一个元素 可以使用pointer-event属性的一个none值来有效的禁用元素。不管是jquery还是javascript,点击事件都不会被触发
.bricked { pointer-events: none; }
chrome 31+, ie11+, firefox 31+, safari 7+, opera 27+, ios safari 7.1+ and android browser 4.1+支持该属性
长链接换行 阻止长链接溢出父元素
a { word-wrap: break-word; }
ps:相关文章:css换行
用媒体查询检测retina显示屏 可以用下面的媒体查询检测retina显示屏
@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+等支持该属性
用省略号缩短文本 可以在一个元素中用省略号来缩短长文本
.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