CSS学习总结
原本我们通过对HTML元素加一些附加属性进行改变页面的外观,比如width、height、bg-color、padding、spacing等属性。
现在有了CSS能够把页面布局和页面外观完全分离开来。只需要把css链接到文本里就可以实现改变外观。
css相对于传统的方法最明显的优势:如果你想要把所有的h1元素全部设置成统一的样式,传统的方法需要一个一个设置,而css则只需要一个设置即可。
CSS的形式如下:
元素或类{ 特性:值; 特性:值; ............ } 比如: 对于元素: body{ background-color:white; } 对于类: td.code{ font-size:10px; } 这是对于td这个元素中class值为code的元素进行描述。 |
外部链接css的方式:
<link rel = "stylesheet" type = "text/css" href = "*.css"/> |
内部css的使用方式:
<style type = "text/css"> css代码; </style> |
外部的CSS的好处:
(1)重用。
(2)修改同步更新,不需要一个一个修改。
(3)设置不同的输出设备。
<link rel = "stylesheet" type = "text/css" href = "1.css" media = "screen"/>
<link rel = "stylesheet" type = "text/css" href = "2.css" media = "handheld"/>
在一个样式表中引入另一个样式表:
@import "1.css";
选择器的使用:
(1)一般选择器:直接用元素。比如直接h1;
(2)通用选择器:适用于全部的元素。*{...}
(3)类选择器:指定特定的class。
- h1.classname:这种适用于h1元素中class属性的值为classname的元素。
- .classname:这种适用于任何元素中class属性的值是classname的元素。
(4)子选择器:选择某种依赖关系的元素。比如td>b,表示td元素的直接子元素b的元素。
(5)后继选择器:某种依赖关系的元素。比如 table b,表示table中的b元素。
接下来就具体介绍css的一些用法:
1.字体类别:
(1)font-family:这是字体,比如serif,monospace等。
具体用法:font-family : arial,sans-serif;表示首选arial字体,如果机器中没有arial字体,则选用sans-serif字体。
(2)font-size:大小。
具体用法:font-size:12px;表示字体大小为12像素.
(3)font-weight:表示是否为粗体。
具体用法:font-weight:bold;表示为粗体。
(4)font-style:表示是否是斜体。
具体用法:font-style:italic;表示为斜体。
2.文本类别:
(1)text-align:表示文本的位置。可选为left,right,center;
具体用法:text-align:center;表示文本在中央。
(2)text-decoration:表示文本是否要下划线、删除线等。可选为underline\line-through;
具体用法:text-decoration:underline;表示文本下方有下划线。
(3)color:表示文本的颜色。
具体用法:color:red;表示颜色是红色。
(4)text-indent:文本缩进多少。
具体用法:text-indent:2px;表示缩进2个像素。
(5)line-height:表示行之间的宽度。
具体用法:line-height:2px;表示行之间间隔2像素。
补充:文本伪类:
(1)first-letter:对于第一个字母特别着重。
形如:open;
具体用法:p:first-letter{....}
(2)first-line:对于第一行特别着重。
形如:I am
xiazdong;
具体用法:p:first-line{...}
3.背景类别:
(1)background-color:
line-height:2px 表示行间距.
padding:
border-style:边框的形状,比如solid表示实线。
border-color:边框的颜色。
border-width:边框的宽度。
4.边框类别:可用于任何元素的边框。
(1)border-width:表示边框的宽度。
具体用法:border-width:2px;表示边框的宽度为2px。
(2)border-style:表示边框的类型。可选:solid,dotted
具体用法:border-style:solid;表示边框是实线。
(3)border-color:表示边框的颜色。
具体用法:border-color:red;表示边框的颜色为红色。
(4)padding:表示边框和文本的距离。
具体用法:padding:2px;表示边框和文本距离为2像素。
(5)margin:表示边框的距离。
具体用法:margin:2px;表示边框之间距离为2像素。
大小类别:
(6)width:框的宽度。
(7)height:框的高度。
(8)max-height和min-height:框的最大高度和最小高度。
(9)max-width和min-width:框的最大宽度和最小宽度。
(10)overflow:表示框是否要滚动条。
具体用法:overflow:scroll;表示边框需要滚动条。
5.背景类别:
(1)background-color:表示背景颜色。
具体用法:background:blue;
(2)background-image:表示背景的图片。
具体用法:background-image:url("apple.jpg");表示背景来自apple.jpg文件。
(3)background-position:表示背景图片的位置。可选:(1)20%,30%(2)left(3)center....
具体用法:background-position:center;表示图片在中心。
(4)background-attachment:表示图片是否会随着滚动条移动而变化。可选:fixed,scroll
具体用法:background-attachment:fixed;表示图片不会变化。
(5)background-repeat:表示图片是否会重复。可选:no-repeat,repeat,repeat-x,repeat-y;
具体用法:background-repeat:no-repeat;表示不会重复。
常用颜色:
(1)#cccccc:深灰色。
(2)#efefef:浅灰色。
(2)#ffffff:白色。
(3)#000000:黑色。
6.列表类别:
(1)list-style-type:表示前标的样式。可选:disc(默认),circle,square,none,decimal,lower-roman;
具体用法:list-style-type:square;表示用方块进行标号。
(2)list-style-position:表示标号的位置。可选:inside,outside;
具体用法:list-style-position:outside;
7.表类别:
(1)border-collapse:是否应该显示每一个边框;可选:collapse或separate;
具体用法:border-collapse:separate;表示每个边框都会显示,不会合并。
(2)border-spacing:边框之间的距离;
具体用法:border-spacing:15px;表示边框之间距离为15像素。
8.外边框类别:和边框的区别是不占用空间。
(1)outline-style:
(2)outline-color:
(3)outline-width:
9.:before和:after伪元素:
(1):before:用于指定在哪些元素之前加哪些内容。
具体用法:h1:before{content:"这里是h1内容:";}这样在h1的前面会加上这个字符串。
(2):after和:before正好相反。
**计数器函数counter():
这个计数器是能够遇到某种情况自动让数字递增。
比如:
body{ counter-reset:chapter; } h1:before{ content:counter(chapter); } h1{ counter-increment:chapter; } 这个例子表明,当进入body时,先清零计数器chapter,在h1之前添加计数器,每次遇到h1,计数器就加一。 |
10.链接类别:
伪类:能够使得链接在不同状态下的样式不同。
(1)link:当一般状态下。
(2)visited:访问完后。
(3)active:当激活链接时。
(4)hover:当停留在链接上时。
具体用法:
a:link{ color:red; } a:hover{ color:blue; } a:visited{ color:black; } 链接一般状态为红色,鼠标停留在链接上时是蓝色,访问完后是黑色。 |
11.其他类别:
(1)display:用于将内联框显示为外部框或反过来。
具体用法:display:block;
(2)cursor:用于指定鼠标指针的样式。
(3)visibility:某个元素是否显示。
布局:
position特性,有static(默认),relative,absolute,fixed;可选。
如果选了后面三个,则可以附加left,top,right,bottom进行移位,但是有一个规则,如果left:30px;则表明向右移,top:30px;表明向下移。
1.普通定位:没有特殊的,平时的按html代码顺序布局。
2.相对定位(relative):相对于普通定位进行偏移,但是这个相对定位的元素没有剥离出普通定位,即如果有三个段落,如果第二个段落移开了,但是空间还是依然保留,不会被第三个段落占用。
具体用法:
position:relative; top:30px; left:30px; |
注意:如果想要让一个段落遮掉另一个段落,则需要设置background-color;
3.绝对定位(absolute):被排除在普通定位之外,其他类似相对定位。如果有三个段落,如果第二个段落移开了,则空间被第三个段落占用。
具体用法:
position:absolute; top:30px; left:30px; |
4.固定定位(fixed):完全脱离普通定位,而是固定在窗体的某一个位置,不论滚动条移动也不会变化。
注意:z-index特性可以设置多个元素重叠时,元素的叠放次序,z-index越大,则越靠顶。
具体用法:
position:fixed; top:0px; left:0px; 表明这个框不动,并且在最顶部。 |
5.浮动定位float:脱离普通定位,并且包含在框中,但不会重叠。指定float后,需要指定width特性,为了确定框的宽度。
具体用法:
float:left; width:100px; 表明某个元素放在左边,并且宽度为100像素。 |
转自:http://blog.csdn.net/xiazdong/article/details/6838612