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:
在知乎的一个专栏上介绍了三个奇淫技巧,很有用,补充在此文后面:
英文原文:Some CSS you may not know
译文出处:一些你不知道的CSS属性