简写属性是可以让你同时设置其他几个 CSS 属性值的 CSS 属性。使用简写属性,Web 开发人员可以编写更简洁、更具可读性的样式表,节省时间和精力。

CSS 规范定义简写属性的目的在于将那些关于同一主题的常见属性的定义集中在一起。比如 CSS 的 background 属性就是一个简写属性,它可以定义 background-color、background-image、background-repeat 和 background-position 的值。类似地,最常见的字体相关的属性可以使用 font 的简写,盒子(box)各方向的外边距(margin) 可以使用 margin 这个简写。

一:没有指定的值会被设置为它的初始值。这意味着,它将会覆盖之前设置的值;例如

background-color: red;
background: url(images/bg.gif) no-repeat top right;

以上样式不会将 background 的 color 值设置为 red,而是 background-color 的默认值 transparent,因为第二条规则优先。

二:简写属性不强调特定顺序。这适用于那些些属性使用不同类型的值时,因为这个时候顺序并不重要。但当几个属性可以设置相同值的时候,就没那么简单了。处理这些情况分以下几种类型:

1.处理和盒子(box)边界(edge)相关的属性时,比如 border-stylemargin 或者 padding, 始终使用一致的1个到4个值的语法表示这些边界:

1个值的语法:border-width: 1em — 这一个值表示所有的边框宽度
2个值的语法:border-width: 1em 2em — 第一个值表示垂直方向的,即 top 和 bottom;第二个值表示水平方向的,即 left 和 right
3个值的语法:border-width: 1em 2em 3em — 第一个值表示 top;第二个值表示水平方向的,即 left 和 right; 第三个值表示 bottom

4个值的语法:border-width: 1em 2em 3em 4em — 这四个值分别表示 top、right、bottom、left,总是按此顺序,即从 top 开始的顺时针顺序(Top-Right-Bottom-Left 首字母与英文单词 trouble 的顺序一致:TRBL)

2.同样,在处理和盒子的角相关的属性时,比如 border-radius,也始终使用一致的 1个到4个值的语法表示:

1个值的语法:border-radius: 1em — 这一个值表示所有的表框角度的半径
2个值的语法:border-radius: 1em 2em — 第一个值表示 top-left 和 bottom-right 方向的角;第二个值表示 top-right 和 bottom-left 方向的角
3个值的语法:border-radius: 1em 2em 3em — 第一个值表示 top-left 方向的角 ,第二个值表示top-right 和 bottom-left 方向的角,第三个值表示 bottom-right 方向的角

4个值的语法:border-radius: 1em 2em 3em 4em — 这四个值分别表示top-left、 top-right、 bottom-right 、bottom-left 方向的角。总是按此顺序,即从top-left开始的顺时针顺序

Background 属性

background 有以下属性:

" style="color: rgb(128, 0, 128);">000;
background-image: url(images/bg.gif);
background-repeat: no-repeat;
background-position: top right;

可以简写成一行声明:

background: #000 url(images/bg.gif) no-repeat top right;

简写的形式实际上等价于以上普通属性再加上 background-attachment: scroll  以及 CSS3 中的一些附加属性。

Font 属性

下面的声明:

font-style: italic;
font-weight: bold;
font-size: .8em;
line-height: 1.2;
font-family: Arial, sans-serif;

可以简写成下面的:

font: italic bold .8em/1.2 Arial, sans-serif;

这个简写声明实际上等价于以上普通属性再加上 font-variant: normal 和 font-size-adjust: none (CSS2.0 / CSS3),font-stretch: normal (CSS3)。

Border 属性

对于 border 来说,宽度、颜色和类型是可以被简写到一个声明里的。比如:

border-width: 1px;
border-style: solid;
border-color: #000;

可以简写成:

border: 1px solid #000;

Margin 和 Padding 属性

margin 和 padding 值的简写版本类似。下面的 CSS 声明:

margin-top: 10px;
margin-right: 5px;
margin-bottom: 10px;
margin-left: 5px;

和下面的声明是一样的(注意,值是从 top 顺时针开始的:top、right、bottom、接着是 left)

margin: 10px 5px 10px 5px;

你务必知道的css简写的更多相关文章

  1. 12个很少被人知道的CSS事实

    之前没有认真的研究过,padding-bottom的值如果是百分比,那么它的实际值是根据父类的宽度来调整的.我还以为是根据这个元素的本身的宽度来定义呢?汗..padding-top/padding-l ...

  2. webapp开发之需要知道的css细节

    引言 首先说明一下,本文分享对象是涉世未深的移动开发者,至于有经验的开发者可以自行绕道. 说来惭愧,做了几年pc端的前端开发,很少接触到webapp的移动端开发.如今有机会参与webapp的开发,发现 ...

  3. 12个你未必知道的CSS小知识

    虽然CSS并不是一种很复杂的技术,但就算你是一个使用CSS多年的高手,仍然会有很多CSS用法/属性/属性值你从来没使用过,甚至从来没听说过. 1.CSS的color属性并非只能用于文本显示 对于CSS ...

  4. 你未必知道的css小知识

    1:当按百分比设定一个元素的宽度时,它是相对于父容器的宽度计算的,但是,对于一些表示竖向距离的属性,例如padding-top,padding-bottom,margin-top,margin-bot ...

  5. 前端开发者应该知道的 CSS 小技巧

    一些小技巧让你的CSS技术更专业 使用:not()去除导航上不需要的边框 为body添加行高 垂直居中任何元素 逗号分离的列表 使用负nth-child选择元素 使用SVG图标 文本显示优化 在纯CS ...

  6. 你应该知道的CSS文字大小单位PX、EM、PT[转]

    摘要: 这里引用的是Jorux的“95%的中国网站需要重写CSS”的文章, 题目有点吓人,但是确实是现在国内网页制作方面的一些缺陷.我一直也搞不清楚px与em之间的关系和特点,看过以后确实收获很大.平 ...

  7. 你应该知道的CSS文字大小单位PX、EM、PT

    这里引用的是Jorux的“95%的中国网站需要重写CSS”的文章, 题目有点吓人,但是确实是现在国内网页制作方面的一些缺陷.我一直也搞不清楚px与em之间的关系和特点,看过以后确实收获很大.平时都是用 ...

  8. react.js 你应知道的9件事

    React.js 初学者应该知道的 9 件事   本文假定你已经有了一下基本的概念.如果你不熟悉 component.props 或者 state 这些名词,你最好先去阅读下官方起步和手册.下面的代码 ...

  9. 你所不知道的 CSS 阴影技巧与细节 滚动视差?CSS 不在话下 神奇的选择器 :focus-within 当角色转换为面试官之后 NPOI 教程 - 3.2 打印相关设置 前端XSS相关整理 委托入门案例

    你所不知道的 CSS 阴影技巧与细节   关于 CSS 阴影,之前已经有写过一篇,box-shadow 与 filter:drop-shadow 详解及奇技淫巧,介绍了一些关于 box-shadow  ...

随机推荐

  1. 关于vue 自定义组件的写法与用法

    最近在网上看到很多大神都有写博客的习惯,坚持写博客不但可以为自己的平时的学习做好记录积累 无意之中也学还能帮助到一些其他的朋友所以今天我也注册一个账号记录一下学习的点滴!当然本人能力实在有限写出的文章 ...

  2. UESTC--1269--ZhangYu Speech(模拟)

    ZhangYu Speech Time Limit: 1000MS   Memory Limit: 65535KB   64bit IO Format: %lld & %llu Submit ...

  3. Spring MVC【入门】

    Spring MVC[入门]就这一篇! MVC 设计概述 在早期 Java Web 的开发中,统一把显示层.控制层.数据层的操作全部交给 JSP 或者 JavaBean 来进行处理,我们称之为 Mod ...

  4. 杂项-Java:Spring Cloud

    ylbtech-杂项-Java:Spring Cloud Spring Cloud是一系列框架的有序集合.它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册. ...

  5. Laravel-事件简单使用

    Laravel-事件简单使用 标签(空格分隔): php, laravel 注册事件和监听器 生成事件和监听器:php artisan event:generate key => 事件 valu ...

  6. float类型和double类型的二进制存储

    在32位环境下, float占用32位,double占用64位, 目前C/C++编译器标准都遵照IEEE制定的浮点数表示法来进行float,double运算.这种结构是一种科学计数法,用符号.指数和  ...

  7. POJ 1471 模拟?

    题意:求最大无坏点三角形 思路: 模拟? (为什么我模拟过了...) 有人用 DP,有人用 搜索... // by SiriusRen #include <cstdio> #include ...

  8. ​libz.so.1: cannot open shared object file: No such file or directory

    在虚拟机安装xtrabackup工具时候出现的报错:​​libz.so.1: cannot open shared object file: No such file or directory [ro ...

  9. windows下git server搭建

    使用gitblit1.8搭建 首先要安装JDK 然后下载gitblit,这里给一个CSDN下载 https://download.csdn.net/download/nietzsche0/104826 ...

  10. Kattis - String Matching(kmp)

    String Matching Input The input consists of several test cases. Each test case consists of two lines ...