CSS
CSS是什么?
- Cascading Style Sheet (层叠样式表)
- 样式表就是如何显示HTML元素
- 外部样式表工作效率高
- 样式可保存在:
- 单个HTML元素中
- HTML页的头元素中
- 一个外部的CSS文件中
- 多种样式作用于同一个HTML元素时将层叠为一个,层叠顺序:
- 浏览器缺省设置 (低)
- 外部样式表
- 内部样式表
- 内联样式表 (高)
CSS语法
- 选择器 + 一条或多条声明(属性+值)

- 写法:
1
2
3
4
5
6
7body {
color: #000;
background: #fff;
margin: 0;
padding: 0;
font-family: Georgia, Palatino, serif;
} - 选择器分组写法:
1
2
3h1,h2,h3,h4,h5,h6 {
color: green;
} - 继承
- 子元素会默认继承最高级元素所拥有的属性
- 子元素想拥有自己的属性,可针对子元素单独创建CSS规则
派生选择器(上下文选择器,后代选择器)
- 根据元素在其位置的上下文关系来定义样式
1
2
3
4li strong {
font-style: italic;
font-weight: normal;
}1
2
3
4
5
6<p><strong>我是粗体字,不是斜体字,因为我不在列表当中,所以这个规则对我不起作用</strong></p>
<p><strong>我是粗体字,不是斜体字,因为我不在列表当中,所以这个规则对我不起作用</strong></p>
<ol>
<li><strong>我是斜体字。这是因为 strong 元素位于 li 元素内。</strong></li>
<li>我是正常的字体。</li>
</ol>子元素选择器
- 只能选择作为某元素的子元素的元素
1
2
3h1>strong{
color:black;
}相邻兄弟选择器
伪类
伪元素
元素选择器(类型选择器)
- 就是以元素作为选择器喽
1
2
3html{
color:black;
}id选择器
- id选择器以
#来定义(id在元素中必须是唯一的)1
2#red {color:red;}
#green {color:green;}1
2<p id="red">这个段落是红色。</p>
<p id="green">这个段落是绿色。</p> - id选择器常常用于建立派生选择器,当然也可以用于单独的
1
2
3
4
5#sidebar p {
font-style: italic;
text-align: right;
margin-top: 0.5em;
}类选择器
- 类选择器以
.来定义(class可以不是唯一的)1
.red {color:red;}
1
2<h1 class="red">这个段落是红色。</p>
<p class="red">这个段落是红色。</p> - 类选择器用法:
- 用于派生
1
2
3
4.fancy td {
color: #f60;
background: #666;
} - 基于元素
1
2
3
4td.fancy {
color: #f60;
background: #666;
}
- 用于派生
属性选择器
- 对带有指定属性的HTML元素设置样式,而不仅限于class和id,通常用于设置表单样式
[attribute]:选取有这个属性的[attribute=value]:选取属性是这个value的[attribute~=value]:选取属性值包含这个value的,value是一个词汇[attribute|=value]:选取属性值以这个value开头的,value是一个词汇[attribute^=value]:匹配以这个value开头的[attribute$=value]:匹配以这个value结束的[attribute*=value]:匹配属性值中包含这个value的1
2
3
4[title]
{
color:red;
}1
<h2 title="Hello world">Hello world</h2>
如何创建CSS
- 外部样式表
1
2
3<head>
<link rel="stylesheet" type="text/css" href="mystyle.css" />
</head> - 内部样式表
1
2
3
4
5
6
7<head>
<style type="text/css">
hr {color: sienna;}
p {margin-left: 20px;}
body {background-image: url("images/back40.gif");}
</style>
</head> - 内联样式
慎用1
2
3<p style="color: sienna; margin-left: 20px">
This is a paragraph
</p> - 多重样式层叠
CSS样式
CSS背景
background-color背景色,不能继承,默认值是transparentbackground-image背景图像,不能继承,默认值是nonebackground-repeat在页面上对背景图像进行平铺background-position改变图像在背景中的位置background-attachment声明背景相对于文字滚动还是固定,默认是scroll1
2
3
4
5
6body{
background-image:url(eg.png);
background-repeat:repeat-x; //repeat-y repeat no-repeat
background-position:center; //top bottom left right center 100px 5cm
background-attachment:fixed;
}background简写属性1
2
3body{
background:#00FF00 url(image.png) no-repeat fixed top;
}
CSS文本
color: 文本颜色word-spacing: 字间距,默认值normal也就是0,正值拉远,负值拉近letter-spacing: 字母间距,修改字符与字母之间的间距text-align: 对齐文本,left right center justifytetx-decoration: 装饰文本,none underline overline line-through blinktext-indent: 文本缩进,可继承,作用于块元素text-transform: 处理文本的大小写none uppercase lowercase capitalizewhite-space: 处理空白符normal- 不换行 不空格 自动换行pre- 换行 空格 不自动换行nowrap- 不换行 不空格 不自动换行prewrap- 换行 空格 自动换行pre-line- 换行 不空格 自动换行
direction:文本方向,文本显示方向,默认值ltrltr rtl- 行内元素前提
unicode-bidi:embed | unicode-bidi:bidi-override
- 行内元素前提
- …
CSS字体
font-family:可以一次罗列多种字体,用户代理不适用时会往后选font-style:用于规定斜体文本normal italic obliquefont-variant:设置小型大写字母small-capsfont-weight:设置文本的粗细normal bold 900font-size:字体大小,与标题元素两回事,60px 3.75em
CSS链接
链接的4种状态
a:link:未被访问的a:visited:访问过后的a:hover:鼠标悬停时的a:active:链接被点击时的text-decorationbackground-colora:hover必须位于a:link和a:visited之后a:active必须位于a:hover之后
CSS列表
list-style:type+position+imagelist-style-imagelist-style-position:inside outside(默认值) inheritlist-style-type:disc(defalut) circle square decimal…
CSS表格
border-collapse:collapse seperate 是否将表格边框合并border-spacing:设置表格边框之间的距离caption-side:top bottom inherit 表格标题相对table的位置empty-cells:show hide inherit 空白单元格是否显示table-layout:automatic fixed inherit 表格布局
CSS轮廓 Outline
轮廓位于元素边框border外围,可以起到突出元素的作用
- outline
- outline-color
- outline-style
- dotted
- dashed
- double
- …
- inherit
- outline-width
- thin
- medium
- thick
- length
- inherit
CSS框模型

- element
- padding
- padding-top
- padding-right
- padding-bottom
- padding-left
- border
- border-top
- border-top-color
- border-top-style
- border-top-width
- border-right
- border-bottom
- border-left
- …
- margin:外边距会有一个合并的概念,块元素之间不是累加的外边距,而是合并
- margin-top
- margin-right
- margin-bottom
- margin-left
CSS定位 Position
display属性值:一切皆为框- none:不显示
- block:转换为块级元素
- inline:转换为内联元素
- inline-block:转换为行内块元素
- list-item:转换为列表
position属性值:- z-index:若不指定此属性,则最后定位在HTML的元素将会显示在最上层最前面,数字越小,越位于最下层最后面
float- none:元素不浮动,显示其在文本出现的位置
- right:元素向右浮动
- left:元素向左浮动
- inherit:
clear:规定元素的那一侧不允许出现浮动元素- left:
- right:
- both:
- none:
- inherit:
CSS Overflow
- overflow 属性值:
- visiable:默认值 内容不改 溢出显示在border外
- hidden:内容溢出删改 溢出内容不可见
- scroll:内容不改 可通过滚轮查看
- auto:内容不溢出,无滚轮 内容溢出,有滚轮
- inherit:
- overflow-x:横向滚轮
- overflow-y:纵向滚轮
- tips:
- overflow的使用,需要预设元素高度
声明:本站所有内容仅供个人学习娱乐笔记所用,如涉侵权,请联系删除