`

转来的总结CSS规范

阅读更多

最近领导让整理个CSS规范做个内部培训,搜了搜资料,觉得这篇文章总结得不错,既然有现成的,先摘来瞅瞅。

 

 

    善用css缩写规则

    /* 注意上、右、下、左的书写顺序*/
1.      关于边距(4边):
1px 2px 3px 4px ( 上、右、下、左)
1px 2px 3px    (省略的左等于右)
1px 2px         ( 省略的上等于下)
1px            (四边都相同)
 
2.      简化所有:
*/ body{margin:0}------------ 表示网页内所有元素的margin为0
#menu{ margin:0}------------ 表示menu盒子下的所有元素的margin为0
 
3.      缩写(border)特定样式:
Border:1px solid #ffffff;
Border-width:0 1px 2px 3px;
 
4.      关于文字的缩写规则:
Font-style:italic;  斜体形式
Font-variant:small-caps/normal;  变体样式:小型大写字母/正常
Font-weight:bold;
Font-size:12px;
Line-height:1.2em(120%)/1.5em(150%);
缩写成:
Font:italic small-caps bold 12px/1.5em arrial,sans-serif;
注意:Font-size和Line-height用斜杠组合在一起不能分开写。
 
5.      关于背景图片的:
Background:#FFF url(log.gif) no-repeat fixed top left;
 
6.      关于列表:
List-style-type:square/none;
List-style-position:inside;
List-style-image:url(filename.gif);
缩写成:
List-style:none inside url(filename.gif);
 
 
 
二、           运用4种方法来引入CSS样式
     1.link
<link rel=”stylesheet” type=”text/css” href=”a.css”>
rel 关系
type 数据类型,有多种
href 路径
部分浏览器支持候选样式,关键字:alternate:
<link rel=”stylesheet” type=”text/css” href=”a.css”>
<link rel=”alternate stylesheet” type=”text/css” href=”b.css”>
<link rel=”alternate stylesheet” type=”text/css” href=”c.css”>
2. 内部样式块
<style>
<!–
h1{color:red;}
–>
</style>
3.@import
@import url{a.css}
注意:此指令必须放在<style>容器中,并且在所有样式之前
建议放在一个html注释中,<!– –>浏览器会不显示注释内的内容,而import等css代码能正常工作
4. 内联样式
<p style=”color:red;”>
选择器是css的一个基本概念,基本规则如下:
1. 规则结构:
h1 {color:red;}
选择器 {属性:值;}
这类是元素选择器,基本可以包括所有html的元素
属性值可以包括多个元素,如:border:1px solid red;
常用语法
1) 分组:
选择器和声明都可以分组:
h1,h2,h3{color:red;background:#fff;} , 选择器用“,”分割开,属性用”;”分割
2) 类选择器,即通过class=”stylename”应用的声明
定义:
.stylename{color:red;}
注意:
在html中可以使用多类选择:如class=”cn1 cn2 cn3″
3)ID 选择器,即与id属性对应的样式
定义:
#a{color:red;} -> 这个定义对用id=”a”的元素
2. 这部分都是我们常见的css语法,下面谈一下我们不常见的选择器语法
1) 父子结构,跟文档结构图对应
如p span{border:1px solid red;}对应的是<p>下面的<li>标签,这个很用用途,可以准确定位.
一些特殊应用(IE7支持):
(1) p > span{}, 匹配所有p下所有的span
(2) p + span{} , 匹配紧接着p元素后出现的第一个span标签,2者要有相同的父标签
2) 属性选择器:(注意:属性选择器ie7才开始支持,以下版本并不支持,其他的浏览器基本可以)
语法:img[alt]{border:1px solid;}
表示对应有alt属性的img标签,当然可以支持多个属性对应,如img[alt][title]{};表示这个2个属性都有的img标签,也可以与具体值对应:如:img[alt=”摄影”]{};
属性选择器中的高级应用,特殊匹配:
(1)img[class~= ”b”],    ~= : 与属性中的一个值对应的,即与<img class=”a b c”>对应
(2)[class^= ”a”],以a开头的
(3)[class$= ”a”],以a结束的
(4)[class*= ”a”],包含a的
(5)[class|= ”a”],等于a或以a开头的
3) 伪类和伪元素
日常使用中主要是<a>标签的几个伪类:link:hover:active:visited
以及:first-child:first:before:left:right:lang:focus:fist-line等等
注意:动态伪类可以应用到任何元素,如,input:focus{background:red;}当input标签获得焦点时背景变红
以上语法组合使用,就能实现定位准确、简单间接的样式了。
 
三、           选择器分类整合
       优先级别遵循:行内样式 >ID > Class >标记

 

基本选择器
标记选择器(eg:<p></p>)
类别选择器(eg:class)
ID 选择器
复合选择器
交集”复合选择器(eg:p.menu{color:red}) 必须是标记+类别/ID 组合
并集”复合选择器(eg:h1,h2,h3{color:red})
“后代”复合选择器(eg: #menu .menulist{ ... })
子”  复合选择器(eg: #menu .menulist .selectit { ... })
 
 
 
 
四、           使用子选择器减少id和class的定义
       示例结构:
<div id="menu">
 <div class="menulist">
     <div class="selectit">content</div>
 </div>
</div>
示例CSS:
#menu { ... }
#menu .menulist { ... }
#menu .menulist .selectit { ... }
 
五、           使用组选择器为不同元素应用相同的样式
     如h1,h2,h3,div{font-size:16px;font-weight:bold}
则h1,h2,h3,div元素的样式都为字体16像素,字体粗体
 
六、           伪类和选择符的配合使用
将伪类和类组合起来用,就可以在同一个页面中做几组不同的链接效果了,例如,我们定义一组链接为红色,访问后为蓝色;另一组为绿色,访问后为黄色:
a.red:link {color: #FF0000}
a.red:visited {color: #0000FF}
a.blue:link {color: #00FF00}
a.blue:visited {color: #FF00FF}
现在应用在不同的链接上:
<a class="red" href="..."> 这是第一组链接</a>
<a class="blue" href="..."> 这是第二组链接</a>
 
七、           CSS 的最近优先原则
 /* 如果对一个元素定义了多次样式,则以最近的一级优先,最近一级的样式将覆盖其他 行内样式 >ID > Class >标记  */
   以下是引用片段:
CSS:
p{color:red}
.blue{color:blue}
.yellow{color:yellow}
HTML:
<p> 此处显示为红色</p>
<p class="blue"> 此处显示为蓝色</p>
<p class="blue" style="color:green"> 此处显示为绿色</p>
<p class="blue yellow"> 此处显示为黄色</p>
注意:
 
      (1)注意样式的几个优先顺序(优先级由上至下递减,下面的样式覆盖上面的样式 ):
 
      -- 元素style设定
 
      --head 区<style></style>中的设定
 
      -- 外部引用css文件
 
      (2)优先级不是按访问顺序来设定的,而是又css中的声明顺序来设的。
 
      如上例中<p class="yellow blue">此处显示为黄色</p>也显示为黄色,因为在css定义中.yellow在.blue的后面。
  
八、           书写正确的链接样式
    当用css定义链接的各种状态时,要注意书写的顺序即::link :visited :hover :active利用首字母:L V H A,你可以通过记忆LoVe,Hate,两个单词来记住其顺序。
:link -------- 链接的颜色
:visited ----- 鼠标点击后的颜色
:hover ------- 鼠标放上去未点的颜色(悬停)
:active------- 鼠标点击瞬间的颜色
 
九、           :hover 的灵活运用
    IE6 不支持除a标签以外的:hover属性,我们了解:hover属性是鼠标悬停效果。在IE7和FF中,对几乎任意元素 都可以设置:hover属性效果。这对我们做不同的访问效果很好。
如:
p {
    width : 360px;
    height : 80px;
    padding : 20px;
    margin : 50px auto 0 auto;
    border : 1px solid #ccc;
    line-height : 25px;
    background : #fff;
}
p:hover {
    border : 1px solid #000;
    background : #ddd;
}
---------------- 此效果针对IE7和FF
p a {
    color : #00f;
    text-decoration : none;
    font-size : 13px;
}
p a:hover {
    color : #036;
    text-decoration : underline;
}
 ----------------- 此效果针对IE6
 
 
十、           定义A标签要注意的小问题
      当我们定义a{color:red;}时,它代表了A的四种状态的样式,如果此时要定义一个鼠标放上的状态只要定义a:hover就可以了,其它三种状态就是A中所定义的样式。
只定义了一个a:link时,一定要记得把其它三种状态定义出来!
 
十一、   禁止内容换行与强制内容换行
   表格 或层中我们可能希望内容不换行或强制换行,我们可以通过一些css属性来达到这些要求。
     禁止换行:white-space:nowrap
强制换行:word-break: break-all; white-space: normal;
 
十二、   区别relative和absolute
Absolute---CSS 中 的写法是:position:absolute; 他的意思是绝对定位,他是参照浏览器的左上角,配合TOP、RIGHT、BOTTOM、LEFT(下面简称TRBL)进行定位,在没有设定TRBL,默认 依据父级的做标原始点为原始点。如果设定TRBL并且父级没有设定position属性,那么当前的absolute则以浏览器左上角为原始点进行定位, 位置将由TRBL决定。
Relative---CSS 中的写法是:position:relative; 他的意思是绝对相对定位,他是参照父级的原始点为原始点,无父级则以BODY的原始点为原始点,配合TRBL进行定位,当父级内有padding等CSS属性时,当前级的原始点则参照父级内容区的原始点进行定位。
 
 
十三、   区别块级元素block和内联元素inline
块级---可定义宽高,另起独占一行 (如:div ul)
内联---不可定义宽高,如文本元素 (如a span)
 
十四、   区别display和visibility
display:none 和visibility:hidden都可以隐藏一个元素,但visibility:hidden只是隐藏了元素的内容,但其使用的位置空间仍然被保留。而display:none则相当把元素从页面中去除,其占用位置也将被删除。
 
十五、   背景background的一些语法
 background-image:url( 背景图案.jpg,gif,bmp);
background-color:#FFFFFF; (背景颜色)
background-color : transparent;    <-- 设定背景为透明色 –>
background-repeat 改变背景图片的重复并排的设定
      说明
repeat  背景图片并排 
repeat-x  背景图片以X方向 并排 
repeat-y  背景图片以Y方向 并排 
no-repeat  背景图片不 以并排的方式处理 
background-attachment 是否固定图片位置
   说明
scroll  拉动卷轴时,背景图片会跟着移动(缺省值) 
fixed   拉动卷轴时,背景图片不会跟着移动 
以长度定位background-position: x y
使用百分比定位 background-position: x% y%
     说明
x%  往右移 
y%  往下移 
backgroud-position: 0% 0%; 左边上方
backgroud-position: 0% 50%; 左边中间
backgroud-position: 50% 0%; 中间上方
backgroud-position: 50% 50%; 正中间
backgroud-position:100% 0%; 右边上方
backgroud-position: 0% 100%; 左边下方
backgroud-position: 100% 50%; 右边中间
backgroud-position: 50% 100%; 中间下方
backgroud-position: 100% 100%; 右边下方
 
以关键字定位
关键字 说明 
top  上 ( y = 0 ) 
center  中 ( x = 50, y = 50 ) 
bottom  下 ( y = 100 ) 
left  左 ( x= 0 ) 
 
Exp:
background-position:center;
图片在指定背景中央X=50% Y=50%位置
background-position: 200px 30px
 
十六、   注释的写法
在Html中:
<-- footer -->
content
<-- end footer -->

在CSS中:
/* ---------- header ----------------- */
style
 
十七、   CSS 的命名规范
1.    id 的命名
    (1) 页面结构
  容器: container
  页头:header
  内容:content/container
  页面主体:main
  页尾:footer
  导航:nav
  侧栏:sidebar
  栏目:column
  页面外围控制整体布局宽度:wrapper
左右中:left right center
(2) 导航
  导航:nav
  主导航:mainnav
  子导航:subnav
  顶导航:topnav
  边导航:sidebar
  左导航:leftsidebar
  右导航:rightsidebar
  菜单:menu
  子菜单:submenu
  标题: title
  摘要: summary
  (3)功能
  标志:logo
  广告:banner
  登陆:login
  登录条:loginbar
  注册:regsiter
  搜索:search
  功能区:shop
  标题:title
  加入:joinus
  状态:status
  按钮:btn
  滚动:scroll
  标签页:tab
  文章列表:list
  提示信息:msg
  当前的: current
  小技巧:tips
  图标: icon
  注释:note
  指南:guild
  服务:service
  热点:hot
  新闻:news
  下载:download
  投票:vote
  合作伙伴:partner
  友情链接:link
  版权:copyright
 
2.    class 的命名
     (1) 颜色:使用颜色的名称或者16进制代码,如
  .red { color: red; }
  .f60 { color: #f60; }
  .ff8600 { color: #ff8600; }
  (2)字体大小,直接使用"font+字体大小"作为名称,如
  .font12px { font-size: 12px; }
  .font9pt {font-size: 9pt; }
  (3)对齐样式,使用对齐目标的英文名称,如
  .left { float:left; }
  .bottom { float:bottom; }
  (4)标题栏样式,使用"类别+功能"的方式命名,如
  .barnews { }
  .barproduct { }
  注意事项::
u      一律小写;
u      尽量用英文;
u      不加中杠和下划线;
u      2 个组合的单词不用中杠和下划线可以将第二个单词的首字母大写(eg:mainContent);
u      尽量不缩写,除非一看就明白的单词.
3.    主要的站点css文件
         主要的 master.css
  模块 module.css
  基本共用 base.css(root.css)
  布局,版面 layout.css
  主题 themes.css
  专栏 columns.css
  文字 font.css
  表单 forms.css
  补丁 mend.css
  打印 print.css
     
十八、   Padding 影响宽度问题
      如果一组要嵌套的标签之间需要些间距的话,那就留给位于里面的标签的margin属性吧,而不要去定义位于外面的标签的padding
 
十九、   完美的单象素外框线表格
      table{border-collapse:collapse;}
td{border:1px solid #000;}
 
二十、   如果文字过长,则将过长的部分变成省略号显示
<style=”width:120px;height:50px;overflow:hidden;text-overflow:ellipsis; white-space:nowrap”>
 
二十一、        并不是所有样式都要简写
       当 样式表前定义了如p{padding:1px 2px 3px 4px}时,在后续工程中又增加了一个样式上补白5px,下补白6px。我们并不一定要写成p.style1{padding:5px 6px 3px 4px}。可以写成p.style1{padding-top:5px;padding-right:6px;},你可能会感觉这样写还不如原来那样好, 但你想没想过,你的那种写法重复定义了样式,另外你可以不必去找原来的下补白与左补白的值是多少!如果以后前一个样式P变了话,你定义的p.style1 的样式也要变。(此种方法对后期修改样式很重要)
 
二十二、        几个常用到的CSS细节处理上的样式
    1 )中文字两端对齐:text-align:justify;text-justify:inter-ideograph;
2 )固定宽度汉字截断:overflow:hidden;text-overflow:ellipsis;white-space:nowrap;(不让其换行,不过只能处理文字在一行上的截断,不能处理多行。)(IE5以上)FF不能,它只隐藏。
*** 万能强制换行:white-space:normal;word-break:break-all;  
 
 
禁止换行:white-space:nowrap
强制换行:word-wrap: break-word; word-break: normal;
.AutoNewline
{
 /*word-break: break-all; 方法一 必须*/
 /*word-wrap:break-word;overflow:hidden; 方法二 */
 /*word-wrap:break-word; word-break: normal;  方法三 */
   word-wrap:break-word; word-break:break-all;
}
 
.NoNewline
{
/*word-break: keep-all;  方法一 必须*/
white-space:nowrap;
}
 
 
3 )固定宽度汉字(词)折行:table-layout:fixed; word-break:break-all;(IE5以上)FF不能。
 
4 )<acronym title=”输入要提示的文字” style=”cursor:help;”>文字</acronym>用鼠标放在前面的文字上看效果。这个效果在国外的很多网站都可以看到,而国内的少又少。
 
5 )图片设为半透明:.halfalpha { background-color:#000000;filter:Alpha(Opacity=50)}在IE6及IE5测试通过,FF未通过,这是因为这个样式是IE私有的东西;
 
6 )FLASH透明:选中swf,打开原代码窗口,在</object>前输入<param name=”wmode” value=”transparent”> 以上是针对IE的代码。
针对FIREFOX 给<embed> 标签也增加类似参数wmode=”transparent”
 
7 )在做网页时常用到把鼠标放在图片上会出现图片变亮的效果,可以用图片替换的技巧,也可以用如下的滤镜:
.pictures img {
filter: alpha(opacity=45); }
.pictures a:hover img {
filter: alpha(opacity=90); }
 
8 )层在浏览器中居中对齐问题
 body { text-align: center }
#content { text-align: left; width: 700px; margin: 0 auto }
 
9) 单行内容在层中垂直对齐问题
# content{height:19px; line-height:19px; } 缺点是要内容不要换行。
 
10 )层在浏览器中垂直居中对齐问题

相关推荐

    CSS命名规范(个人总结)

    CSS命名规范(个人总结)

    Html和Css编码规范总结

    该文档中总结了一些关于Html和Css编码的一些规范,有不对或者欠缺的地方还请指正!

    CSS基础入门总结(很详细的哟)

    一、CSS语法规范 二、CSS选择器 (1)基础选择器 (i)标签选择器 (ii)类选择器 (iii)id选择器 (iv)通配符选择器 (2)复合选择器 (i)后代选择器 (ii)子代选择器 (iii)并集选择器 (iv)伪类选择器 三、...

    web前端规范之CSSHack[总结].pdf

    web前端规范之CSSHack[总结].pdf

    简单高效的css规范

    CSS学起来并不难,但在大型项目中,就变得难以管理,特别是不同的人在CSS书写风格上稍有不同,团队上就更加难以沟通,为此总结了一些如何实现高效整洁的CSS代码原则。

    HTML5&CSS3网页制作:CSS样式规则.pptx

    在HTML编写过程中我们除了应用基本的标签元素还会使用css样式来丰富界面使之有不同的呈现效果。 未设置css样式 设置css样式 单击此处添加副标题内容 CSS样式规则 01 CSS样式规则 CSS 代码规范还是有存在的必要的,...

    前端代码规范总结(3篇).zip

    前端代码规范总结(3篇),包括HTML、CSS、JAVASCRIPT等代码规范的总结心得!

    DIV+CSS网页设计规范总结.docx

    ...

    DIV+CSS网页设计规范总结.pdf

    ...

    全面总结CSS代码的编写规范及优化建议

    主要介绍了全面总结CSS代码的编写规范及优化建议,从最基本的代码块格式到模块化再到性能优化,整理得相当详细,十分推荐!需要的朋友可以参考下

    CSS书写规范、顺序和命名规则

    这些是参考了国外一些文章以及我的个人经验总结出来,我想对写CSS的前端用户来说是值得学习的。 一、CSS书写顺序 1.位置属性(position, top, right, z-index, display, float等)2.大小(width, height, padding, ...

    CSS中火狐浏览器与IE浏览器的兼容

    如何让你写的代码更兼容火狐和IE...本文将总结总结CSS中火狐浏览器与IE浏览器的兼容代码,兼容你兼容主要是语法规范问题,你写CSS写规范了,就都兼容了,其他的就是一些浏览器的BUG了,发一些技巧给你看看,或许有用。

    CSS的一些编程规范总结

     无论编写什么文档,我们都应当维持统一的风格,包括统一的注释、统一的语法与统一的命名规范。 总则  将行宽控制在 80 字节以下。渐变(gradient)相关的语法以及注释中的 URL 等可以算作例外,毕竟这部分我们也...

    web开发中怎么样使css书写规范?

    对于现在的web2.0,到底怎么书写css样式表,才算是最好的,最规范的!几乎没有什么明确的规定。在整个开发的项目中,只要写出一套最适合于团队开发的最好了。当然了很多的css样式书写范是大同小异的。需要不断的去...

    HTML+CSS项目开发经验总结(推荐)

    好几天没更新博客了,刚实战完一个...我们可以针对这些内容来设定一个固定的样式文件。在开发中 就可以直接引入此文件,而无需再重复敲CSS代码。 CSS Code复制内容到剪贴板 /*基本样式*/  * { margin:0;

    CSS命名规范

    这是好多年本人的一个总结,希望能够帮助到下载的同学!

Global site tag (gtag.js) - Google Analytics