CSS必知必会
CSS语法规则
CSS规则由:「选择器」和一条或多条「声明」组成。其中选择器用于指定想要改变样式的HTML元素;每个声明由一个属性和一个值组成,属性和值之间用:
连接,多条声明之间用;
隔开。
1 | /* 选择器 {声明; 声明} 选择p元素,两条声明指定其颜色和对齐方案*/ |
选择器
其中选择器分为id选择器和class选择器,id选择器为指定了id
属性的HTML元素设置特定的样式;class选择器用于描述特定class
属性值的一组元素的样式。
1 | <h1 class="center">这是标题一</h1> |
1 | /* id选择器,对于id为para1的元素指定样式,居中对齐,蓝色字 */ |
分组和嵌套
此外,选择器之间可以分组和嵌套:
1 | /* 同时对多个标签选择,也叫分组选择 */ |
组合选择符
CSS中包含4种选择符的组合方式:
- 后代选择器(以空格
后代选择器可以选取到被某元素包含的另一元素:
1 | /* 选择div内包含p元素 */ |
- 子元素选择器(以
>
分隔)
子元素选择器只选择某元素的第一级子元素:
1 | /* 选取div的一级子元素p */ |
- 相邻兄弟选择器(以
+
分隔)
相邻兄弟选择器可以选择紧接着某个元素的另一个元素,这两个元素拥有相同的父元素。
1 | <style> |
- 普通兄弟选择器(以
~
分隔)
普通兄弟选择器不要求元素相邻,选择某一个元素后的所有兄弟元素。
1 | <style> |
插入样式表三种方式
-
外部样式表(External style sheet):当样式需要应用于很多页面时,外部样式表将是理想的选择。在使用外部样式表的情况下,你可以通过改变一个文件来改变整个站点的外观。外部样式表通过在文档的首部指定
<link>
标签引用外部的.css
文件来实现样式的设置。 -
内部样式表(Internal style sheet):当单个文档需要特殊的样式时,就应该使用内部样式表。内部样式表直接在首部通过
<style>
标签指定文档的样式。 -
内联样式(Inline style):由于要将表现和内容混杂在一起,内联样式会损失掉样式表的许多优势。请慎用这种方法,例如当样式仅需要在一个元素上应用一次时,要使用内联样式。内联样式通过给某个元素添加
style
属性来指定单个元素的样式。
1 | <head> |
CSS盒子模型
- 内容区(Content):可以是文本、图片等类型,具有的属性有:
width, height, overflow
,分别指定内容的宽度和高度以及当内容信息溢出时的行为。 - 填充区(Padding):处于内容区和边框之间的透明区域,属性有:
padding-top, padding-bottom, padding-left, padding-right, padding
,分别指定了各个方向上的填充区大小。 - 边框(Border):环绕内容曲和填充区的边界。属性有:
border-style, border-width, border-color, border
,分别指定了边框的样式,宽度和颜色。 - 外边距(Margin):边框外的区域,它使得盒子之间不会紧凑连接在一起。属性有:
margin-top, margin-bottom, margin-left, margin-right, margin
,分别制定了不同方向的外边距大小。
div {
width: 300px;
/* border简写,分别为:border-width, border-style, border-color */
border: 25px solid green;
padding: 25px;
margin: 25px;
}
块元素和内联元素,块元素占用了全部的宽度,前后都是换行符。如<h1>, <p>, <div>
。
内联元素只需要必要的宽度,不强制换行。如<span>, <a>
。
可以用display
属性改变显示方式为块元素或内联元素,{display:inline}, {display:block}
。