您现在的位置是:网站首页> 编程资料编程资料

CSS属性简写和选择器的优先级问题 CSS属性简写整理CSS中简写属性要注意TRouBLe的顺序问题(避免踩坑)

2023-10-23 193人已围观

简介 这篇文章主要介绍了CSS属性简写和选择器的优先级问题,是CSS入门学习中的基础知识,需要的朋友可以参考下

几个常用 CSS 属性的简短写法

精简 CSS 代码有很多种方法,但其中最常用的方法可能就是使用属性的简短形式。

具有简短写法的 CSS 属性很多,但是常用的属性无外乎字体、列表、背景、边框、透明等几种,所以在此对这几种属性的简短写法做个归纳,备忘。
font 属性

font 属性涉及到字体、字号、行高等好几个属性,使用简短写法的时候可以节省好多代码量。虽然并非所有属性都要定义,但是一般来说 font-size 和 font-family 是必不可少的,以下是 font 的几个属性与其对应的默认值:

CSS Code复制内容到剪贴板
  1. /* font 各属性与默认值 */  
  2. font-variantnormal;   
  3. line-heightnormal;   
  4. font-family: varies;   
  5. font-weightnormal;   
  6. font-stylenormal;   
  7. font-sizemedium;  

以上 6 个属性可以合并成一行,根据 W3C 规范,各属性前后排列顺序依次为:

CSS Code复制内容到剪贴板
  1. /* 字体各属性前后顺序 */  
  2. font: [font-style] [font-variant] [font-weight] [font-size]/[line-height] [font-family];  

再看以下几个示例:

CSS Code复制内容到剪贴板
  1. font14px Georgia, serif;   
  2. font14px/1.4 Georgia, serif;   
  3. fontitalic lighter 14px/1.4 Georgia, serif;   
  4. fontitalic small-caps lighter 14px/1.4 Georgia, serif;  

可以看到,一行代码就可以代替一段代码,而且看起来还更优雅一些,就是单独查找某个属性的时候有点不太方便,看着眼花。
list 属性

list 有三个属性,这三个属性分别定义:type、image 和 position,它们的属性名和默认值分别如下:

CSS Code复制内容到剪贴板
  1. list-style-typedisc;   
  2. list-style-imagenone;   
  3. list-style-positionoutside;  

list 只有三个属性,并不复杂,但是我们仍然可以将这三个属性合并为在一行中,根据 W3C 规范,写法如下:

CSS Code复制内容到剪贴板
  1. /* list 属性简短写法 */  
  2. list-style: [list-style-type] [list-style-position] [list-style-image];   
  3.   
  4. /* 示例 */  
  5. list-stylenone;   
  6. list-styledisc;   
  7. list-styledisc outside;   
  8. list-styledisc outside url(bg.png);  

一如既往的简单,基本上就是简写了 list 属性的名称,然后按顺序排列一下属性的值即可。
background 属性

很多样式表中都会多次定义 background 属性,每次都要重复其 5 个属性的话,那代码量可会成倍的增加呢。下面是其 5 个属性名及其默认值:

CSS Code复制内容到剪贴板
  1. /* background 的各属性及其默认值 */  
  2. background-attachmentscroll;   
  3. background-colortransparent;   
  4. background-positiontop left;   
  5. background-repeatrepeat;   
  6. background-imagenone;  

根据 W3C 规范,将其 5 个属性合并起来的写法如下:

CSS Code复制内容到剪贴板
  1. /* background 属性简短写法 */  
  2. background: [background-color] [background-image] [background-repeat] [background-attachment] [background-position];   
  3.   
  4. /* 示例 */  
  5. background#777;   
  6. backgroundurl(images/bg.png) 0 0;   
  7. background#777 url(images/bg.png) repeat-x 0 0;   
  8. background#777 url(images/bg.png) repeat-x fixed 0 0;  

对于 background 简短写法而言,不同的标签的使用方法和效果都有一些细微差别,欲知详情者,请至官方文档查看。
border 属性

border 属性更为简单,它 3 个属性以及默认值如下:

CSS Code复制内容到剪贴板
  1. /* border 各属性及其默认值 */  
  2. border-width
-六神源码网