CSS
1. 语法
1.1. 行内样式
<h1 style="color:red; font-size:14px;">行内样式</h1>
1.2. 内嵌样式
<style type = "text/css">
选择器{
属性1:值;
属性2:值;
}
</style>
1.3. 外部样式表
链接式:<link type="text/css" rel="stylesheet" href="css文件路径">
特点:属于xhtml,先加载CSS。
导入式:<style type="text/css">@import url("css文件路径")</style>
特点:属于CSS,先加载HTML后加载样式。
注释:/*注释内容*/
1.4. 多重样式优先级
行内样式 > 内嵌样式 > 外部样式 > 浏览器默认样式
2. 选择器
选择器 | 示例 | 示例说明 | ||
---|---|---|---|---|
.class | .intro | 选择所有class="intro"的元素 | ||
#id | #firstname | 选择所有id="firstname"的元素 | ||
* | * | 选择所有元素 | ||
element | p | 并集选择器,选择所有<p> 元素 |
||
element,element | div,p | 选择所有<div> 元素和<p> 元素 |
||
element element | div p | 后代选择器,选择<div> 元素内的所有<p> 元素 (不限层级) |
||
element>element | div>p | 子元素选择器,选择所有父级是<div> 元素的<p> 元素 (限第一层后代) |
||
element+element | div+p | 相邻兄弟选择器,选择所有紧接着<div> 元素之后的<p> 元素(限相邻的第一个同级别元素) |
||
element1~element2 | p~ul | 后续兄弟选择器,选择p元素之后的每一个ul元素(不需要相邻,且所有ul元素) | ||
[attribute] | [target] | 选择所有带有target属性元素 | ||
[attribute=value] | [target=-blank] | 选择所有使用target="-blank"的元素 | ||
[attribute~=value] | [title~=flower] | 选择标题属性包含单词"flower"的所有元素 | ||
[attribute\ | =language] | [lang\ | =en] | 选择 lang属性以en为开头的所有元素 |
:link | a:link | 选择所有未访问链接 | ||
:visited | a:visited | 选择所有访问过的链接 | ||
:active | a:active | 选择活动链接 | ||
:hover | a:hover | 选择鼠标在链接上面时 | ||
:focus | input:focus | 选择具有焦点的输入元素 | ||
:first-letter | p:first-letter | 选择每一个<P> 元素的第一个字母 |
||
:first- | p:first-line | 选择每一个<P> 元素的第一行 |
||
:first-child | p:first-child | 指定只有当<p> 元素是其父级的第一个子级的样式。 |
||
:before | p:before | 在每个<p> 元素之前插入内容 |
||
:after | p:after | 在每个<p> 元素之后插入内容 |
||
:lang(language) | p:lang(it) | 选择一个lang属性的起始值="it"的所有 元素 |
||
[attribute^=value] | a[src^="https"] | 选择每一个src属性的值以"https"开头的元素 | ||
[attribute$=value] | a[src$=".pdf"] | 选择每一个src属性的值以".pdf"结尾的元素 | ||
[attribute**=value*] | a[src*="runoob"] | 选择每一个src属性的值包含子字符串"runoob"的元素 | ||
:first-of-type | p:first-of-type | 选择每个p元素是其父级的第一个p元素 | ||
:last-of-type | p:last-of-type | 选择每个p元素是其父级的最后一个p元素 | ||
:only-of-type | p:only-of-type | 选择每个p元素是其父级的唯一p元素 | ||
:only-child | p:only-child | 选择每个p元素是其父级的唯一子元素 | ||
:nth-child(n) | p:nth-child(2) | 选择每个p元素是其父级的第二个子元素 | ||
:nth-last-child(n) | p:nth-last-child(2) | 选择每个p元素的是其父级的第二个子元素,从最后一个子项计数 | ||
:nth-of-type(n) | p:nth-of-type(2) | 选择每个p元素是其父级的第二个p元素 | ||
:nth-last-of-type(n) | p:nth-last-of-type(2) | 选择每个p元素的是其父级的第二个p元素,从最后一个子项计数 | ||
:last-child | p:last-child | 择每个p元素是其父级的最后一个子级。 | ||
:root | :root | 选择文档的根元素 | ||
:empty | p:empty | 选择每个没有任何子级的p元素(包括文本节点) | ||
:target | #news:target | 选择当前活动的#news元素(包含该锚名称的点击的URL) | ||
:enabled | input:enable | 选择每一个已启用的输入元素 | ||
:disabled | input:disabled | 选择每一个禁用的输入元素 | ||
:checked | input:checked | 选择每个选中的输入元素 | ||
:not(selector) | :not(p) | 选择每个并非p元素的元素 | ||
::selection | ::selection | 匹配元素中被用户选中或处于高亮状态的部分 | ||
:out-of-range | :out-of-range | 匹配值在指定区间之外的input元素 | ||
:in-range | :in-range | 匹配值在指定区间之内的input元素 | ||
:read-write | :read-write | 用于匹配可读及可写的元素 | ||
:read-only | :read-only | 用于匹配设置 "readonly"(只读) 属性的元素 | ||
:optional | :optional | 用于匹配可选的输入元素 | ||
:required | :required | 用于匹配设置了 "required" 属性的元素 | ||
:valid | :valid | 用于匹配输入值为合法的元素 | ||
:invalid | :invalid | 用于匹配输入值为非法的元素 |
3. 属性
3.1. 字体属性
Property | 描述 | 值 |
---|---|---|
font-style | 指定文本的字体样式 | normal/italic/oblique/inherit |
font-variant | 以小型大写字体或者正常字体显示文本。 | normal/small-caps/inherit |
font-weight | 指定字体的粗细。 | normal/bold/bolder/lighter |
font-size | 指定文本的字体大小 | 必须 |
font-family | 指定文本的字体系列 | 必须 |
font | 在一个声明中设置所有的字体属性 |
3.2. 文本属性
属性 | 描述 | 值 |
---|---|---|
color | 设置文本颜色 | rgba(225,225,225,0.5)红,绿,蓝,透明度 |
line-height | 设置行高,行间距 | |
text-align | 对齐元素中的文本 | left,center,right |
text-decoration | 向文本添加修饰 | underline,line-through,none |
direction | 设置文本方向。 | |
letter-spacing | 设置字符间距 | |
text-indent | 缩进元素中文本的首行 | |
text-shadow | 设置文本阴影 | |
text-transform | 控制元素中的字母 | capitalize首字母大写 |
unicode-bidi | 设置或返回文本是否被重写 | |
vertical-align | 设置元素的垂直对齐 | |
white-space | 设置元素中空白的处理方式 | 除非遇到 或块级,内部不换行 |
word-spacing | 设置字间距 | |
display | 设置元素应该生成的框类型 | block块级 |
3.3. 背景属性
Property | 描述 | 值 |
---|---|---|
background | 简写属性,作用是将背景属性设置在一个声明中。 | 顺序如表排列顺序 |
background-color | 设置元素的背景颜色。 | |
background-image | 把图像设置为背景。 | url("URL") |
background-position | 设置背景图像的起始位置。 | x:left,center,right,值,% y:top,middle,bottom,值,% |
background-repeat | 设置背景图像是否及如何重复。 | (no-)repeat(-x/y) |
background-attachment | 背景图像是否固定或者随着页面的其余部分滚动。 | scroll,fixed |
3.4. 列表属性
属性 | 描述 | 值 |
---|---|---|
list-style | 简写属性。用于把所有用于列表的属性设置于一个声明中 | none |
list-style-type | 设置列表项标志的类型。 | disc,circle,square,decimal |
list-style-image | 将图象设置为列表项标志。 | |
list-style-position | 设置列表中列表项标志的位置。 |
3.5. 超链接伪类
:link | a:link | 选择所有未访问链接 |
---|---|---|
:visited | a:visited | 选择所有访问过的链接 |
:hover | a:hover | 把鼠标放在链接上的状态 |
:active | a:active | 选择正在活动链接 |
CSS规定:hover必须在link和visited后,active必须在hover后
3.6. input伪类
:valid | input:valid | 选择所有有效值的属性 |
---|---|---|
:invalid | input:invalid | 选择所有无效的元素 |
:focus | input:focus | 选择具有焦点的输入元素 |
3.7. 鼠标cursor属性
值 | 描述 |
---|---|
url | 需使用的自定义光标的 URL。 注释:请在此列表的末端始终定义一种普通的光标,以防没有由 URL 定义的可用光标。 |
default | 默认光标(通常是一个箭头) |
text | 此光标指示文本。 |
move | 此光标指示某对象可被移动。 |
crosshair | 光标呈现为十字线。 |
pointer | 光标呈现为指示链接的指针(一只手) |
wait | 此光标指示程序正忙(通常是一只表或沙漏)。 |
help | 此光标指示可用的帮助(通常是一个问号或一个气球)。 |
3.8. 盒子模型
Margin(外边距) - 清除边框外的区域,外边距是透明的。
auto浏览器计算边距
Padding(内边距) - 清除内容周围的区域,内边距是透明的。
顺序:上 右 下 左(省略的左等于右,下等于上)
Border(边框) - 围绕在内边距和内容外的边框。
border:5px solid red;
Content(内容) - 盒子的内容,显示文本和图像。width和height指的是content的大小.
3.9. 浮动属性
float:left/right/none
clear:left/right/both/none 指定周围不允许有浮动元素
overflow:hidden/visible/scroll/auto 指定内容溢出时的处理方式,父元素设为hidden可以清除浮动
float对宽度的影响
默认情况下,div的宽度是自适应auto的,在没有设置float的情况下,宽度是自动调整最大化,设置float之后,宽度自动调整最小化。
3.10. 定位属性position
static:默认
fixed:相对于浏览器窗口的位置
relative:相对于默认的偏移
absolute:相对于最近的已定位(非static)的父元素,否则相对于
元素重叠:z-index:一个带正负号的int值决定堆叠顺序,没有指定时,最后定位的在上面
3.11. 尺寸单位
单位 | 描述 |
---|---|
% | 百分比 |
in | 英寸 |
cm | 厘米 |
mm | 毫米 |
em | 1em 等于当前的字体尺寸。 2em 等于当前字体尺寸的两倍。 例如,如果某元素以 12pt 显示,那么 2em 是24pt。 在 CSS 中,em 是非常有用的单位,因为它可以自动适应用户所使用的字体。 |
ex | 一个 ex 是一个字体的 x-height。 (x-height 通常是字体尺寸的一半。) |
pt | 磅 (1 pt 等于 1/72 英寸) |
pc | 12 点活字 (1 pc 等于 12 点) |
px | 像素 (计算机屏幕上的一个点) |