侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

常用的CSS缩写语法小结可帮助你减少CSS文件大小

前端  /  管理员 发布于 7年前   158

使用缩写可以帮助减少你CSS文件的大小,更加容易阅读。css缩写的主要规则如下:

  颜色
  16进制的色彩值,如果每两位的值相同,可以缩写一半,例如:

  #000000可以缩写为#000;#336699可以缩写为#369;

  盒尺寸
  通常有下面四种书写方法:

•property:value1; 表示所有边都是一个值value1;
•property:value1 value2; 表示top和bottom的值是value1,right和left的值是value2
•property:value1 value2 value3; 表示top的值是value1,right和left的值是value2,bottom的值是value3
•property:value1 value2 value3 value4; 四个值依次表示top,right,bottom,left

方便的记忆方法是顺时针,上右下左。具体应用在margin和padding的例子如下:

  margin:1em 0 2em 0.5em;

  边框(border)
  边框的属性如下:

•border-width:1px;
•border-style:solid;
•border-color:#000;
  可以缩写为一句:border:1px solid #000;

  语法是border:width style color;

  背景(Backgrounds)
  背景的属性如下:

•background-color:#f00;
•background-image:url(background.gif);
•background-repeat:no-repeat;
•background-attachment:fixed;
•background-position:0 0;

可以缩写为一句:background:#f00 url(background.gif) no-repeat fixed 0 0;

语法是background:color image repeat attachment position;

你可以省略其中一个或多个属性值,如果省略,该属性值将用浏览器默认值,默认值为:

•color: transparent
•image: none
•repeat: repeat
•attachment: scroll
•position: 0% 0%
  字体(fonts)
  字体的属性如下:

•font-style:italic;
•font-variant:small-caps;
•font-weight:bold;
•font-size:1em;
•line-height:140%;
•font-family:"Lucida Grande",sans-serif;

可以缩写为一句:font:italic small-caps bold 1em/140% "Lucida Grande",sans-serif;

font的缩写,如果省略family,
如这样子:
font:700 14px/22px;
则在Firefox下是不生效的
完整的写法是:font:700 14px/22px arial;

复制代码代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<style> www.111cn.net
.login_top{height:26px;font:bold 14px/26px "宋体"; border:1px solid #000}
.login_top2{height:26px; line-height:26px; font-weight:bold;font-size:14px;border:1px
solid #000; font-family:'宋体'}
</style>
<div class="login_top">我垂直不居中</div>
<br/ >
<div class="login_top2">我垂直居中</div>

注意,如果你缩写字体定义,至少要定义font-size和font-family两个值。

  列表(lists)
  取消默认的圆点和序号可以这样写list-style:none;,

  list的属性如下:

•list-style-type:square;
•list-style-position:inside;
•list-style-image:url(image.gif);
  可以缩写为一句:list-style:square inside url(image.gif);

outline

outline类似border,不同的是border会影响盒模型,而outline不会。

outline-width:数字+单位;
outline-style: none || dashed || dotted || double || groove || inset || outset || ridge || solid ;
outline-color: 颜色 ;

属性值为0书写原则是如果CSS属性值为0,那么你不必为其添加单位(如:px/em),你可能会这样写:

关于四个边的特别说明
关于四边,有很多样式都涉及到了四边(上下左右)的问题,我这里统一说明一下。

以padding属于为例,四边的简写如下:

padding:4px 6px 3px 4px;

它等效于:

复制代码代码如下:
padding-top:1px;
padding-right:2px;
padding-bottom:3px;
padding-left:4px;

其顺序为:

top | right | bottom | left

不论是边框宽度,还是边框颜色、边距等,只要css样式涉及四边,顺序通通都是“上右下左”(顺时针方向)。

如果四边的值省略一个,只写三个,即:

padding:1px 2px 3px;

则它等效于:

复制代码代码如下:
padding-top:1px;
padding-right:2px;
padding-bottom:3px;
padding-left:2px;

即省略的“左”值等于“右”。

如果四边的值省略两个:

padding:5px 10px;

它等效于:

复制代码代码如下:
padding-top:5px;
padding-right:10px;
padding-bottom:5px;
padding-left:5px;

也就是说,当只有2个值的时候,上下2边等于第一个值,左右2边等于第二个值,即省略的“下”值等于“上”。

如果只有一个值:

padding:3px;

它等效于:

复制代码代码如下:
padding-top:3px;
padding-right:3px;
padding-bottom:3px;
padding-left:3px;

这种情况下,上下左右4条边都等同于同一个值!

Margin(外边距/空白边)声明CSS magin值得时候通常会写成这样:

复制代码代码如下:
margin-top:0px;
margin-right:10px;
margin-bottom:0px;
margin-left:10px;

让我们试试把值为0的单位去掉,并把4条声明合并成一条声明:

margin:0 10px 0 10px;

当你生命padding、margin、border(还有一些其他属性)时,记得要把按照顺时针的方向来声明属性值,也就是按照上-右-下-左的方向。关于这些属性还有另一个更加简单的写法,看看属性中上和下、左和右是否值是相等的,如果是那么就可以进一步优化了,你可以省略掉后两个值,剩下的两个值前者指上下,后者指左右:

margin:0 10px;

它是指左右的值为10px,上下的值为0;

移除选择器  选择器是你在为一些元素应用CSS样式时的基本方法,比如h1, h2, h2, div, strong, pre, ul, ol等等…如果你使用了class(.类名)或ID(#id名),那么就不用再在声明CSS时包含选择器了。

div#logowrap

尝试扔掉多余的选择器吧:

#logowrap

在这个例子中所谓的那个选择器就是div

*总爱和你开玩笑  要明智的使用*而避免它在整个CSS样式表中乱开玩笑,*是个通配符,你可以使用它来为你的设计部分或全部进行一系列CSS声明。例如:

复制代码代码如下:
{
margin: 0;
}

这个声明会将所有元素的margin值设置为0,同样的,为了严谨起见,你可以尝试这样设置:

复制代码代码如下:
#menu * {
margin: 0;
}

这样的声明是指将#menu下的所有元素的margin设为0。


  • 上一条:
    css中visiblity和display异同详解
    下一条:
    css特效 一道闪光在图片上划过代码
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 使用 Alpine.js 排序插件对元素进行排序(0个评论)
    • 在js中使用jszip + file-saver实现批量下载OSS文件功能示例(0个评论)
    • 在vue中实现父页面按钮显示子组件中的el-dialog效果(0个评论)
    • 使用mock-server实现模拟接口对接流程步骤(0个评论)
    • vue项目打包程序实现把项目打包成一个exe可执行程序(0个评论)
    • 近期文章
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • Laravel 11.15版本发布 - Eloquent Builder中添加的泛型(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2017-06
    • 2017-07
    • 2017-08
    • 2017-09
    • 2017-10
    • 2017-11
    • 2018-03
    • 2018-04
    • 2018-05
    • 2018-06
    • 2018-09
    • 2018-11
    • 2018-12
    • 2019-02
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2021-04
    • 2021-05
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-06
    • 2023-07
    • 2023-09
    • 2023-10
    • 2023-11
    • 2023-12
    • 2024-01
    • 2024-02
    • 2024-03
    • 2024-04
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客