CSS中值得记住的一些技巧
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;
- }
用媒体查询检测Retina显示屏
可以用狼蚁网站SEO优化的媒体查询检测Retina显示屏
- @media
- (min-device-pixel-ratio: 2),
- (min-resolution: 192dpi) {
- /* Retina CSS */
- }
过滤
除了IE,filter属性被广泛的支持,但可能会被Spartan支持。在接下来的几十年,它会是一个大事件。
CSS Code复制内容到剪贴板
- .blur {
- filter: blur(30px);
- }
用省略号缩短文本
可以在一个元素中用省略号来缩短长文本
- .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+等支持该属性。