样式缩写——css技巧(一)
一、margin和padding缩写
例:
.sample-margin1{
margin-top:15px;
margin-right:20px;
margin-bottom:12px;
margin-left:24px;
}
缩写后:
.sample-margin1{
margin:15px 20px 12px 24px;
}
padding与margin缩写形式一样
缩写规则:按顺时针方向来写(按上、右、下、左的顺序),属性之间由空白隔开。如果相关属性相同,可以按以下的写法:
.sample-margin2{
margin:上 右 下 左;
margin:上 左右 下;
margin:上下 左右;
margin:全部(等于上右下左);
//padding同理
}
二、border缩写:
例:
.sample-border1{
border-top-width:1px;
border-top-style:solid;
border-top-color:#cccccc;
}
.sample-border2{
border-top:1px solid #cccccc;
border-left:1px solid #cccccc;
border-right:1px soli #cccccc;
border-bottom:1px solid #cccccc;
}
缩写后:
.sample-border1{
border-top:1px solid #ccc;
}
.sample-border2{
border:1px solid #ccc;
}
如果是3条边有颜色,为了简化代码你可以这样写:
.sample-border3{
border:1px solid #ccc;
border-top:none;
//左、右、下边框有颜色,上边框为空
}
缩写规则:如果四条边的颜色和宽度相同可以简写成以上形式,16进制的色彩值,如果每两位的值相同,可以缩写一半,例如:#000000可以缩写为#000;#0044DD可以缩写为#04D;其他颜色值同理。字体宽度normal用400代替,bold用700代替。
三、background缩写
例:
.sample-background{
background-color:#ccc;
background-image:url(sample.gif);
background-repeat:repeat-x;
background-attachment:scroll;
//scroll是背景图像随对象内容滚动为默认值,可以不写
background-position:top right;
}
缩写后:
.sample-background{
background:#ccc url(sample.gif) repeat-x top right;
//属性依次为:颜色-背景图-X轴平铺-背景图像位置(背景图片路径不需要加引号)
}
四、font缩写:
例:
.sample-font{
font-style:italic //设置或检索对象中的字体样式
font-variant:normal //设置或检索对象中的文本是否为小型的大写字母
//前2项如果没有特殊设置,可以不写,用默认值即可
font-weight:bold;
font-size:12px;
line-height:20px;
font-family:"宋体";
}
缩写后:
.sample-font{
font:bold 12px/20px "宋体";
//属性依次为:字体的粗细 - 字体大小/行高 - 文本的字体
}
五、list-style缩写:
例:
.sample-list{
list-style-image:url(sample.gif);
list-style-position:outside;
list-style-type:circle;
}
缩写后:
.sample-list{
list-style:circle inside url(sample.gif);
}
属性依次为:预设标记 - 标记位置 - 标记图片(标记图片路径不需要加引号),预设标记和标记图片可二选一,如果二者都定义,则标记图片覆盖预设标记,不过在项目中基本没有都不用,都是用背景图片进行定义
六 其他缩写:
1、样式明确定义单位,除非值为0
.sample-uint{
width:100px;
height:50px;
font-size:9pt;
//值为0可不填单位
margin:0;
padding:0;
}
2、可以给标签定义通用属性,减少重复定义
p{...}
h1{...}
img{...}
3、给所有能重复使用的元素定义类
.red{...}
.nav{...}
.tfoot{...}
4、为网站缩写初始化样式,避开浏览器的不兼容问题,使用组选择器减少重复定义
body, dl, dt, dd, ul, ol, li,
div, pre, code, p, blockquote,
form, fieldset, legend, input,
button, textarea, label{
margin:0;padding:0;
}
body{
font:12px/1.5 Tahoma,Helvetica,Arial,'宋体',sans-serif;
}
html{
color:#404040;
background:#fff;
overflow-y:scroll;
}
5、取消class和id前的元素限定
.sample-cancel-limit{
div#content {...}
fieldset.details {...}
//改为
#content {...}
.details {...}
}
在给一个元素定义class或者id,你可以省略前面的元素限定,因为id在一个页面里是唯一的,页class可以在页面中多次使用,你限定某个元素意义不大,还会增加文件的尺寸。
如果你只是想把相关模块的样式放在一起,也为了看起来清晰,也可以这么做,自己把握,不建议这样写。
6、不需要重复定义可继承的值
CSS中,子元素自动继承父元素的属性值,象颜色、字体等,已经在父元素中定义过的,在子元素中可以直接继承,不需要重复定义。具体哪些属性可以继承,哪些不能继承可以百度一下。
7、多重class定义
.one{...}
.two{....}
...
如果样式表中有相关的样式,可以给标签另写样式,实现定义多个class来减少代码冗余和重用效率,多个样式间用空隔隔开。
8、使用子选择器
.son{...}
.son li{...}
.son li a{...}
合理的使用子选择器可以帮助你节约大量的class和id定义,更有效的控制页面元素。
9、删除空格和注释
在发布网站的时候,你可以删除CSS文件里的空格和注释并压缩CSS文件,这样可以减小文件的大小
10、其他
网站也有很多相关的缩写文章,高手们都会有总结自己的缩写技巧,具体缩写规则可以根据实际项目里的情况而定。规则是人的,规则也是灵活的。
样式缩写——css技巧(一)的更多相关文章
- css学习の第六弹—样式设置小技巧
一.css样式设置小技巧>>1.行内元素水平居中是通过给父元素设置 text-align:center 来实现的.html代码:<body> <div class=&qu ...
- 应该知道的25个非常有用的CSS技巧
在我们的前端CSS编码当中,经常要设置特殊的字体效果,边框圆角等等,还要考虑兼 容性的问题, CSS网页布局,说难,其实很简单.说它容易,往往有很多问题困扰着新 手,在中介绍了非常多的技巧,这些小技巧 ...
- CSS技巧----DIV+CSS规范命名大全集合
网页制作中规范使用DIV+CSS命名规则,可以改善优化功效特别是团队合作时候可以提供合作制作效率,具体DIV CSS命名规则CSS命名大全内容篇. 常用DIV+CSS命名大全集合,即CSS命名规则 D ...
- 你应该知道的25个非常有用的CSS技巧
在我们的前端CSS编码当中,经常要设置特殊的字体效果,边框圆角等等,还要考虑兼容性的问题, CSS网页布局,说难,其实很简单. 说它容易,往往有很多问题困扰着新手,在中介绍了非常多的技巧,这些小技巧与 ...
- CSS技巧-rgba函数的妙用
先简单介绍一下: rgba()函数是平时开发中经常遇到的,这篇文章也做了一个比较详细的解读以及一系列的应用. 对它的工作原理做一番分析:就是具有一定透明度的盒子: 还比较了rgba()函数和不透明度属 ...
- 网页设计师必备的10个CSS技巧
CSS是网页设计师的基础,对CSS的了解能使他们能够设计出更加美观别致的网页.使用CSS技巧来巧妙地处理CSS是非常令设计师着迷的事情.在CSS的深海世界里有很多有意思的东西,你只需要找到最适合你的就 ...
- 20个很有用的CSS技巧
导语:下面这几个CSS技巧你可能不知道,1.彩色照片变黑白,2.所有元素垂直居中,3.禁用鼠标,4.模糊文字,小编学完能量满满的,觉得对CSS又充满了爱,你也来看看. 1. 黑白图像 这段代码会让你的 ...
- 50个CSS技巧
这里我工作中收集了10个很不错的CSS技巧,你可以用在你的项目上.它可以帮你很好地整理你的元素并让他们看起来蛮酷的.下面开始我们的内容,希望你会喜欢它.下面是我收集的CSS技巧,希望能帮助到你,感觉收 ...
- 最全的CSS浏览器兼容问题【CSS技巧 】
CSS对浏览器的兼容性有时让人很头疼,或许当你了解当中的技巧跟原理,就会觉得也不是难事,从网上收集了IE7,6与Fireofx的兼容性处理方法并整理了一下.对于web2.0的过度,请尽量用xhtml格 ...
随机推荐
- JS单例模式在工作中的使用
为了尽可能的减少全局变量的污染,在写js的时候可以采用单例模式,形式如下: 比如有一个js叫demo.js,那么我们可以在js里这样写: var demo = {} 这样做的目的是将整个js当成一个对 ...
- Android 目录结构
Android目录结构中,values目录下对应的是应用程序所需要的数据,网上看到了一个包含values-v11等values-*的写法. 是为了进行分辨率的自适应????????? 因为还没有涉及到 ...
- 高性能页面加载技术--BigPipe设计原理及Java简单实现
1.技术背景 动态web网站的历史可以追溯到万维网初期,相比于静态网站,动态网站提供了强大的可交互功能.经过几十年的发展,动态网站在互动性和页面显示效果上有了很大的提升,但是对于网站动态网站的整体页面 ...
- JVM内存管理机制
Java与C++之间有一堆由内存动态分配与垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来. —— <深入理解Java虚拟机:JVM高级特性与最佳实践> Java虚拟机在 ...
- SPOJ IM_Intergalactic Map
判断能否从一个点同时找出两条不相交的路径到另外两个点. 保证路径不相交,那么需要拆点.然后?好像就没什么了,直接最大流即可. 不过,,,不需要求出所有的最大流,只要跑两次EK看看能否增广两次就行了. ...
- DAY7-Flask项目
1.cookie用于用户登录: Flask用于登录的插件:flask-login 插件初始化: 使用插件: 2.访问权限: 访问某个页面要登录之后才能访问: 为插件编写函数,写在user模块中:
- 设置快捷键 让word轻松实现无格式粘贴
设置快捷键 让word轻松实现无格式粘贴使用word时,我们经常会遇到需要将网页上的内容复制到word进行编辑的情况,但是通常这样复制进来的内容都是带有格式的,编辑起来非常不便.虽然我们可以利用“记事 ...
- BZOJ3252 攻略(贪心+dfs序+线段树)
考虑贪心,每次选价值最大的链.选完之后对于链上点dfs序暴力修改子树.因为每个点最多被选一次,复杂度非常正确. #include<iostream> #include<cstdio& ...
- 五种并发包总结ConcurrentHashMap CopyOnWriteArrayList ArrayblockingQueue
五种并发包总结 1.常用的五种并发包 ConcurrentHashMap CopyOnWriteArrayList CopyOnWriteArraySet ArrayBlockingQueue Lin ...
- java中的变量各占得字节数
boolen,8位1个字节int,32位,4个字节float,32位 4个字节double,64位8个字节char 16位,2个字节byte 8位1个字节short 16位 2个字节long 64位 ...