CSS 使用规则总结

建站知识 2021-07-03 08:43www.168986.cn长沙网站建设
一.缩写规则
关于边距 margin(4边)
1px 2px 3px 4px (上、右、下、左)
1px 2px 3px (省略的左等于右)
1px 2px (省略的上等于下)
1px (四边都相同)
简化所有
/ body{margin:0}------------表示网页内所有元素的margin为0
#menu{ margin:0}------------表示menu控件下的所有元素的margin为0
缩写(border)特定样式
Border:1px solid #ffffff;
Border-width:0 1px 2px 3px;
关于文字的缩写规则
Font-style:italic; 斜体形式
Font-variant:small-caps/normal; 变体样式小型大写字母/正常
Font-weight:bold;
Font-size:12px;
Line-height:1.2em(120%)/1.5em(150%);
Font-family:arrial,sans-serif,verdana;
缩写成
Font:italic small-caps bold 12px/1.5em arrial,sans-serif;
注意Font-size和Line-height用斜杠组合在一起不能分开写。
关于背景图片的
Background:#FFF url(log.gif) no-repeat fixed left;
关于列表
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
rel 关系
type 数据类型,有多种
href 路径
部分浏览器支持候选样式,关键字:alternate:
2.内部样式块

3.@import
@import url{a.css}
注意:此指令必须放在中的设定
--外部引用css文件
(2)优先级不是按访问顺序来设定的,而是又css中的声明顺序来设的。
如上例中
此处显示为黄色
也显示为黄色,因为在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 #c;
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(狼蚁网站SEO优化简称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%; 右边下方
以关键字定位
关键字 说明
上 ( 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的命名规范
id的命名
(1)页面结构
容器: container
页头header
内容content/container
页面主体main
页尾footer
导航nav
侧栏sidebar
栏目column
页面外围控制整体布局宽度wrapper
左右中left right center
(2)导航
导航nav
主导航mainnav
子导航subnav
顶导航nav
边导航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
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 { }
注意事项::
一律小写;
尽量用英文;
不加中杠和下划线;
2个组合的单词不用中杠和下划线可以将第二个单词的首字母大写(eg:mainContent);
尽量不缩写,除非一看就明白的单词.
主要的站点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;}
如果文字过长,则将过长的部分变成省略号显示


并不是所有样式都要简写
当样式表前定义了如p{padding:1px 2px 3px 4px}时,在后续工程中又增加了一个样式上补白5px,下补白6px。我们并不一定要写成p.style1{padding:5px 6px 3px 4px}。可以写成p.style1{padding-: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)文字用鼠标放在前面的文字上看效果。这个效果在国外的很多网站都可以看到,而国内的少又少。
5)图片设为半透明.halfalpha { background-color:#000000;filter:Alpha(Opacity=50)}在IE6及IE5测试通过,FF未通过,这是因为这个样式是IE私有的东西;
6)FLASH透明选中swf,打开原代码窗口,在前输入 以上是针对IE的代码。
针对FIREFOX 给 标签也增加类似参数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)层在浏览器中垂直居中对齐问题
缺点是水平、垂直方向上不能出现滚动条,只能是在一屏的情况下
其实解决的思路是这样的首们需要position:absolute;绝对定位。而层的定位,使用外补丁margin负值的方法。负值的大小为层自身宽度高度除以2。
如一个层宽度是400,高度是300。使用绝对定位距离上部与左部都设置成50%。而margin-的值为-150。margin-left的值为-200。这样我们就实现了层垂直居中于浏览器的样式编写。
请看实例代码
div {
position:absolute;
:50%;
left:50%;
margin:-150px 0 0 -200px;
width:400px;
height:300px;
border:1px solid red;
}
11)CSS控制图片自适应大小
div img {
max-width:600px;
width:600px;
width:expression(document.body.clientWidth>600?"600px":"auto");
overflow:hidden;
}
使用float属性的元素要注意的问题
利用border属性确定出错元素的布局特性
使用float属性布局一不小心就会出错。这时为元素添加border属性确定元素边界,错误原因即水落石出。
float元素的父元素不能指定clear属性
MacIE下如果对float的元素的父元素使用clear属性,周围的float元素布局就会混乱。这是MacIE的著名的bug,倘若不知道就会走弯路。
float元素务必指定width属性
很多浏览器在显示未指定width的float元素时会有bug。所以不管float元素的内容如何,一定要为其指定width属性。
指定元素时尽量使用em而不是px做单位。
float元素不能指定margin和padding等属性
IE在显示指定了margin和padding的float元素时有bug。不要对float元素指定margin和padding属性(可以在float元素内部嵌套一个div来设置margin和padding)。也可以使用hack方法为IE指定特别的值。
float元素的宽度之和要小于100%
如果float元素的宽度之和正好是100%,某些古老的浏览器将不能正常显示。请保证宽度之和小于99%。
浏览器的兼容性问题(针对FF/IE6/IE7)
1.CSS hack:区分IE6,IE7,firefox
区别FF,IE7,IE6
background:green !important; background:orange; background:blue;
IE6能识别,但不能识别 !important,
IE7能识别,也能识别!important;
FF不能识别,但能识别!important;
再补充一个,下划线”_“,
IE6支持下划线,IE7和firefox均不支持下划线。

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by