基本样式

选择器{ **//选择器严格区分大小写
属性1:属性值1
; //多个属性之间必须用英文状态下的分号隔开
属性2:属性值2; //
属性的值多个单词组成且中间包含空格,则必须为这个属性值加上引号。
属性3:属性值1; //
空格不被解析**
}

行内式/内联样式

通过标记的style属性来设置元素的样式
<标记名 style=”属性1:属性值1; 属性2:属性值2; 属性3:属性值3;”> 内容 </标记名>

  1. <h2 style="font-size:20px; color:red;">使用CSS行内式修饰二级标题的字体大小和颜色</h2>

image.png

内嵌式

将CSS代码集中写在头部标记中,并且用

  1. <style type="text/css">
  2. h2{ text-align:center; /*定义标题标记居中对齐*/
  3. p{ font-size:16px; color:red; text-decoration:underline;} /*定义段落标记的样式*/
  4. </style>

image.png

链入式

将所有的样式放在一个或多个以.css为扩展名的外部样式表文件中,通过标记将外部样式表文件链接到HTML文档中。


属性 描述
href URL 规定被链接文档的位置。
rel •alternate
•author
•help
icon
•licence
•next
•pingback
•prefetch
•prev
•search
•sidebar
stylesheet
•tag
规定当前文档与被链接文档之间的关系。
type MIME_type 规定被链接文档的 MIME 类型。
  1. //3.html文件
  2. <link href="css/3.css" type="text/css" rel="stylesheet" />
  3. //3.css
  4. h2 {
  5. text-align:center;
  6. }
  7. p {
  8. font-size:16px;
  9. color:red;
  10. text-decoration:underline;
  11. }

image.png

基础选择器

标记选择器

用HTML标记名称作为选择器,按标记名称分类,为页面中某一类标记指定统一的CSS样式。
标记名 { 属性1:属性值1; 属性2:属性值2; 属性3:属性值3; }
p { font-size:12px; color:#666; font-family:”微软雅黑”;}

类选择器

使用“.”(英文点号)进行标识,后面紧跟类名。
.类名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3; }
类名即为HTML元素的class属性值,大多数HTML元素都可以定义class属性。类选择器最大的优势是可以为元素对象定义单独或相同的样式。

  1. //CSS:
  2. <style type="text/css">
  3. .red{color:red; }
  4. .green{color:green; }
  5. .font22{font-size:22px; }
  6. p{ text-decoration:underline; font-family:"微软雅黑";}
  7. </style>
  8. //HTML:
  9. <h2 class="red">二级标题文本</h2>
  10. <p class="green font22">段落一文本内容</p>
  11. <p class="red font22">段落二文本内容</p>
  12. <p>段落三文本内容</p>

image.png

id选择器(只使用一次)

使用“#”进行标识,后面紧跟id名。
#id名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3; }
id名即为HTML元素的id属性值,大多数HTML元素都可以定义id属性,元素的id值是唯一的,只能对应于文档中某一个具体的元素

  1. //CSS:
  2. <style type="text/css">
  3. #bold {font-weight:bold;}
  4. #font24 {font-size:24px;}
  5. </style>
  6. //HTML:
  7. <h2 id="bold">二级标题文本</h2>
  8. <p id="font24">段落一文本内容</p>

通配符选择器

通配符选择器用“*”号表示,它是所有选择器中作用范围最广的,能匹配页面中所有的元素。
*{属性1:属性值1; 属性2:属性值2; 属性3:属性值3; }

  • {
    margin: 0; / 定义外边距/
    padding: 0; / 定义内边距/
    } /使用通配符选择器定义CSS样式,清除所有HTML标记的默认边距。 / ```html CSS:

HTML: G o o g l e

  1. ![image.png](https://cdn.nlark.com/yuque/0/2020/png/2211273/1601644295728-61160c2d-8a2e-49e6-b1da-8b486a19a771.png#align=left&display=inline&height=115&margin=%5Bobject%20Object%5D&name=image.png&originHeight=230&originWidth=760&size=19679&status=done&style=none&width=380)
  2. <a name="pTyZm"></a>
  3. # 字体样式
  4. <a name="dpGYX"></a>
  5. ## **font-size:字号大小**
  6. | **相对长度单位** | **说明** |
  7. | --- | --- |
  8. | **em** | 相对于当前对象内文本的字体尺寸 |
  9. | **px** | 像素,最常用,推荐使用 |
  10. | **绝对长度单位** | **说明** |
  11. | --- | --- |
  12. | **in** | 英寸 |
  13. | **cm** | 厘米 |
  14. | **mm** | 毫米 |
  15. | **pt** | |
  16. <a name="aO0BJ"></a>
  17. ## **font-family:字体**
  18. 可以同时指定**多个字体**,中间以**逗号**隔开,表示如果浏览器不支持第一个字体,则会尝试下一个,直到找到合适的字体。<br />body{font-family:"华文彩云","宋体","黑体";}
  19. <a name="BMEMV"></a>
  20. ### tips
  21. - **各种字体之间**必须使用英文状态下的**逗号**隔开。
  22. - **中文字体**需要加英文状态下的**引号**,英文字体一般不需要加引号。当需要设置英文字体时,**英文字体名必须位于中文字体名之前**。
  23. - 如果字体名中包含空格、#、$等符号,则该字体必须加英文状态下的**单引号或双引号**,例如font-family: "Times New Roman";。
  24. - 尽量**使用系统默认字体**,保证在任何用户的浏览器中都能正确显示。
  25. <a name="V7l5F"></a>
  26. ## font-weight:字体粗细
  27. | **值** | **描述** |
  28. | --- | --- |
  29. | **normal** | 默认值。定义标准的字符。 |
  30. | **bold** | 定义粗体字符。 |
  31. | **bolder** | 定义更粗的字符。 |
  32. | **lighter** | 定义更细的字符。 |
  33. | **100~900100的整数倍)** | 定义由细到粗的字符。其中400等同于normal700等同于bold,值越大字体越粗。 |
  34. <a name="fT6Hg"></a>
  35. ## font-variant:变体
  36. 设置变体(字体变化),一般用于定义小型大写字母,仅对英文字符有效
  37. <a name="3a8FT"></a>
  38. ### normal
  39. 默认值,浏览器会显示标准的字体。
  40. <a name="TnFQd"></a>
  41. ### small-caps
  42. **所有的小写字母均会转换为大写**。但是所有使用小型大写字体的字母与其**余文本相比**,其字体**尺寸更小**
  43. <a name="XgNJz"></a>
  44. ## font-style:字体风格
  45. 设置斜体、倾斜或正常字体,其可用属性值如下:
  46. <a name="o7eSn"></a>
  47. ### normal:
  48. 默认值,浏览器会显示标准的字体样式。
  49. <a name="qbzHj"></a>
  50. ### italic(常用)/oblique
  51. 浏览器会显示斜体的字体样式。
  52. <a name="imv83"></a>
  53. ## font:综合设置字体样式
  54. 选择器{font: font-style font-variant font-weight /line-height font-family;}<br />使用font属性时,必须按上面语法格式中的顺序书写,各个属性以空格隔开。其中line-height指的是行高。<br />eg:<br />p{ font:italic small-caps bold 30px/40px Arial,"宋体" ;}
  55. ```html
  56. //CSS:
  57. <style type="text/css">
  58. .one{ font:italic 18px/30px "隶书";}
  59. .two{ font:italic 18px/30px;}
  60. </style>
  61. //HTML:
  62. <p class="one">段落1:使用font属性综合设置段落文本的字体风格,字号,行高和字体。</p>
  63. <p class="two">段落2:使用font属性综合设置段落文本的字体风格、字号和行高。由于省略了字体属性font-family,这时font属性不起作用。</p>

image.png

文本外观属性

color

letter-spacing:字间距

所谓字间距就是字符与字符之间的空白
允许使用负值,默认为normal

word-spacing:单词间距

定义英文单词之间的间距,对中文字符无效

line-height:行间距

单位

  • 像素px(使用最多)
  • 相对值em
  • 百分比

    text-transform:文本转换

    用于控制英文字符的大小写

  • none:不转换(默认值)。

  • capitalize:首字母大写。
  • uppercase:全部字符转换为大写。
  • lowercase:全部字符转换为小写。

    text-decoration:文本装饰

  • none:没有装饰(正常文本默认值)。

  • underline:下划线。
  • overline:上划线。
  • line-through:删除线。

    text-align:水平对齐方式

  • left:左对齐(默认值)

  • right:右对齐。
  • center:居中对齐。

eg:
h2{ text-align:center;}

text-indent:首行缩进

em:字符宽度的倍数(建议)
%:相对于浏览器窗口宽度的百分比

  1. //CSS:
  2. <style type="text/css">
  3. p{ font-size:14px;}
  4. .one{ text-indent:2em;}
  5. .two{ text-indent:50px;}
  6. </style>
  7. //HTML:
  8. <p class="one">这是段落1中的文本,text-indent属性可以对段落文本设置首行缩进效果,段落1使用text-indent:2em;。</p>
  9. <p class="two">这是段落2中的文本,text-indent属性可以对段落文本设置首行缩进效果,段落2使用text-indent:50px;。</p>

image.png

white-space:空白符处理

  • normal:常规(默认值),文本中的空格、空行无效,满行(到达区域边界)后自动换行。
  • pre:预格式化,按文档的书写格式保留空格、空行原样显示。
  • nowrap:空格空行无效,强制文本不能换行,除非遇到换行标记
    。内容超出元素的边界也不换行,若超出浏览器页面则会自动增加滚动条。
    1. //CSS:
    2. p{
    3. font-size:16px; /*设置段落文本的字号*/
    4. font-family:"微软雅黑"; /*设置段落文本的字体*/
    5. line-height:28px; /*设置段落文本的行高*/
    6. text-indent:2em; /*设置段落文本首行缩进*/
    7. }
    8. .blue{ color:#33F;} /*特殊的蓝色文本*/
    9. .red{color:#F00;} /*特殊的红色文本*/
    10. .money{ font-size:26px;} /*18000的文本大小*/
    11. //HTML:
    12. <img src="img/hebau.jpg" alt="河北农业大学" style="width: 300px;"/>
    13. <p><em class="blue">导语</em>:全日制本科专业共<strong class="red">6</strong>个:计算机科学与技术专业、网络工程专业、电子信息科学与技术专业、软件工程专业、物联网工程专业、数据科学与大数据技术<em class="blue">【详情】</em></p>
    14. <p><em class="blue">就业薪资</em>:月薪<strong class="red money">8000</strong></p>
    image.png

    复合选择器

    第一个为标记选择器,第二个为class选择器或id选择器,两个选择器之间不能有空格 ```html //CSS:

//HTML:

普通段落文本(蓝色)

指定了.special类的段落文本(红色)

指定了.special类的标题文本(绿色)

**![image.png](https://cdn.nlark.com/yuque/0/2020/png/2211273/1601645732751-2841a9ef-6ef2-4329-a7d0-d0d496832459.png#align=left&display=inline&height=101&margin=%5Bobject%20Object%5D&name=image.png&originHeight=202&originWidth=580&size=53289&status=done&style=none&width=290)** <a name="VrZRA"></a> ## 后代选择器 选择**元素或元素组的后代**,其写法就是把外层标记写在前面,内层标记写在后面,中间用**空格**分隔。当标记发生嵌套时,内层标记就成为外层标记的后代。html //CSS: //HTML:

段落文本嵌套在段落中,使用strong标记定义的文本(红色)。

嵌套之外由strong标记定义的文本(蓝色)。 **![image.png](https://cdn.nlark.com/yuque/0/2020/png/2211273/1601645926678-8866afbb-6c03-4cf3-b2a4-457d856a81cd.png#align=left&display=inline&height=65&margin=%5Bobject%20Object%5D&name=image.png&originHeight=130&originWidth=860&size=26708&status=done&style=none&width=430)** <a name="1Tnhn"></a> ## 并集选择器 各个选择器通过**逗号**连接而成的,任何形式的选择器(包括标记选择器、class类选择器、id选择器等),都可以作为并集选择器的一部分。如果某些选择器定义的样式完全相同,或部分相同,就可以利用并集选择器为他们定义相同的CSS样式。html //CSS: //HTML:

二级标题文本。

三级标题文本,加下划线。

段落文本1,加下划线。

段落文本2,普通文本。

段落文本3,加下划线。

**![image.png](https://cdn.nlark.com/yuque/0/2020/png/2211273/1601645991092-f5b017b1-91b6-4376-8b05-cf99435dcac0.png#align=left&display=inline&height=175&margin=%5Bobject%20Object%5D&name=image.png&originHeight=349&originWidth=360&size=55786&status=done&style=none&width=180)** <a name="3wAaS"></a> # 层叠性与继承性 <a name="BQ2Ry"></a> ## 层叠性:多种CSS样式的叠加。 eg: - 内嵌式CSS样式表定义<p>标记字号大小为12像素; - 链入式CSS样式表定义<p>标记颜色为红色; - 段落文本将显示为12像素红色,即这两种样式产生了叠加。html //CSS: //HTML:

段落文本1

段落文本2

段落文本3

![image.png](https://cdn.nlark.com/yuque/0/2020/png/2211273/1601646066471-6eac1e64-8e71-4902-a752-6fbe38b43e33.png#align=left&display=inline&height=131&margin=%5Bobject%20Object%5D&name=image.png&originHeight=261&originWidth=291&size=32437&status=done&style=none&width=145.5) <a name="nV1jJ"></a> ## 继承性 书写CSS样式表时,子标记会继承父标记的某些样式,如文本颜色和字号。并不是所有的CSS属性都可以继承,例如下面的属性就不具有继承性:<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/2211273/1601646153590-f8ae4e50-f7dd-41b1-8c3d-5a846df29dea.png#align=left&display=inline&height=125&margin=%5Bobject%20Object%5D&name=image.png&originHeight=249&originWidth=569&size=19174&status=done&style=none&width=284.5) <a name="4Weer"></a> # 优先级 定义CSS样式时,经常出现两个或更多规则应用在同一元素上,这时就会出现优先级的问题<br />**继承样式 < 标记选择器 < 类选择器 < id选择器**<br />eg:html p{ color:red;} /标记样式/ .blue{ color:green;} /class样式/ #header{ color:blue;} /id样式/ Html为:

//蓝色

  1. ```html
  2. strong{ color:red;}
  3. #header{ color:green;}
  4. Html为:
  5. <p id="header" class="blue">
  6. <strong>继承样式不如自己定义</strong>
  7. </p>
  8. //红色

行内样式优先。应用style属性的元素,其行内样式的权重非常高,可以理解为远大于100。总之,它拥有比上面提到的选择器都大的优先级。
•权重相同时,CSS遵循就近原则。也就是说靠近元素的样式具有最大的优先级,或者说排在最后的样式优先级最大
•CSS定义了一个!important命令,该命令被赋予最大的优先级。也就是说不管权重如何以及样式位置的远近,!important都具有最大优先级

盒子模型

所谓盒子模型就是把HTML页面中的元素看作是一个矩形的盒子,也就是一个盛装内容的容器。每个矩形都由元素的内容、内边距(padding)、边框(border)和外边距(margin)组成。
image.png

  1. //CSS:
  2. <style type="text/css">
  3. .box{
  4. width:200px; /*盒子模型的宽度*/
  5. height:50px; /*盒子模型的高度*/
  6. border:15px solid red; /*盒子模型的边框*/
  7. background:#CCCCCC; /*盒子模型的背景*/
  8. padding:30px; /*盒子模型的内边距*/
  9. margin:20px; /*盒子模型的外边距*/
  10. }
  11. </style>
  12. //HTML:
  13. <p class="box">盒子中包含的内容</p>

image.png

div

没有定义,就用来表示一个区块。可以代替footer header …所有标签

边框属性

设置内容 样式属性 常用属性值

上边框
border-top-style:样式;
border-top-width:宽度;
border-top-color:颜色;
border-top:宽度 样式 颜色;

下边框
border-bottom-style:样式;
border- bottom-width:宽度;
border- bottom-color:颜色;
border-bottom:宽度 样式 颜色;
左边框 border-left-style:样式;
border-left-width:宽度;
border-left-color:颜色;
border-left:宽度 样式 颜色;
右边框 border-right-style:样式;
border-right-width:宽度;
border-right-color:颜色;
border-right:宽度 样式 颜色;
样式综合设置 border-style:上边 [右边 下边 左边]; none无(默认)、solid单实线、dashed虚线、dotted点线、double双实线
宽度综合设置 border-width:上边 [右边 下边 左边]; 像素值
颜色综合设置 border-color:上边 [右边 下边 左边]; 颜色值、#十六进制、rgb(r,g,b)、rgb(r%,g%,b%)
边框综合设置 border:四边宽度 四边样式 四边颜色;

border-style边框样式

综合设置四条边的样式

  • none:没有边框(默认)
  • solid:边框为单实线
  • dashed:边框为虚线
  • dotted:边框为点线
  • double:边框为双实线

    单边设置样式

  • border-top-style:上边框样式;

  • border-right-style:右边框样式;
  • border-bottom-style:下边框样式;
  • border-left-style:左边框样式;
  • border-style:上边框样式 右边框样式 下边框样式 左边框样式;(**顺时针,4**)
  • border-style:上边框样式 左右边框样式 下边框样式; (**—-左右—-下,3**)
  • border-style:上下边框样式 左右边框样式; (**—-左右,2)**
  • border-style:上下左右边框样式; (都一样,1个)

eg:

  1. <p>只有上边为虚线dashed,其他三边为单实线solid,可以使用border-style综合属性分别设置各边样式
  2. p{ borer-style:dashed solid solid solid;}
  3. //or
  4. p{ border-style:solid;} /*综合设置四边样式*/
  5. p{ border-top-style:dashed;} /*上边样式覆盖*/

border-width边框宽度

单位:像素px
同边框样式一样,边框宽度也可以针对四条边分别设置,或综合设置四条边的宽度。

  • border-top-width:上边框宽度;
  • border-right-width:右边框宽度;
  • border-bottom-width:下边框宽度;
  • border-left-width:左边框宽度;
  • border-width:上边框宽度 [右边框宽度 下边框宽度 左边框宽度];

    border-color边框颜色

    边框的默认颜色为元素本身的文本颜色,对于没有文本的元素,其默认边框颜色为父元素的文本颜色。

  • border-top-color:上边框颜色;

  • border-right-color:右边框颜色;
  • border-bottom-color:下边框颜色;
  • border-left-color:左边框颜色;
  • border-color:上边框颜色 [右边框颜色 下边框颜色 左边框颜色];

    综合设置边框

  • border-top:上边框宽度 样式 颜色;

  • border-right:右边框宽度 样式 颜色;
  • border-bottom:下边框宽度 样式 颜色;
  • border-left:左边框宽度 样式 颜色;
  • border:四边宽度 样式 颜色; ```html <!DOCTYPE html>

    设置边框属性

    该段落使用单侧边框的综合属性,分别给上、右、下、左四个边设置不同的样式。

    网页平面设计
  1. ![image.png](https://cdn.nlark.com/yuque/0/2020/png/2211273/1601880469327-71433f33-b707-44d8-8185-161961f382d3.png#align=left&display=inline&height=208&margin=%5Bobject%20Object%5D&name=image.png&originHeight=416&originWidth=905&size=176033&status=done&style=none&width=452.5)
  2. <a name="3qx9r"></a>
  3. # 背景设置
  4. <a name="Ow9KB"></a>
  5. ## background-color背景颜色
  6. ```html
  7. <!DOCTYPE html>
  8. <html>
  9. <head>
  10. <meta charset="utf-8">
  11. <title>背景颜色</title>
  12. <style type="text/css">
  13. body{ background-color: #CCC;} /*设置网页的背景颜色*/
  14. h2{
  15. font-family:"微软雅黑";
  16. color:#FFF;
  17. background-color:#F00; /*设置标题的背景颜色*/
  18. }
  19. </style>
  20. </head>
  21. <body>
  22. <h2>学不会,怎么办?</h2>
  23. <p>多看帖子、勤写代码,学计算机,高薪就业无忧!详情请见传www.hebau.edu.cn。</p>
  24. </body>
  25. </html>

image.png

background-image图片背景

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>背景颜色</title>
  6. <style type="text/css">
  7. body{
  8. background-color: #CCC;
  9. background-image:url(img/jianbian.jpg);
  10. } /*设置网页的背景颜色和图片*/
  11. h2{
  12. font-family:"微软雅黑";
  13. color:#FFF;
  14. background-color:#F00; /*设置标题的背景颜色*/
  15. }
  16. </style>
  17. </head>
  18. <body>
  19. <h2>学不会,怎么办?</h2>
  20. <p>多看帖子、勤写代码,学计算机,高薪就业无忧!详情请见传www.hebau.edu.cn。</p>
  21. </body>
  22. </html>

image.png

background-repeat背景图像平铺

默认情况下,背景图像会自动向水平和竖直两个方向平铺
如果不希望背景图像平铺,或者只沿着一个方向平铺,可以通过background-repeat属性来控制

  • repeat:沿水平和竖直两个方向平铺(默认值)
  • no-repeat:不平铺(图像位于元素的左上角,只显示一次)
  • repeat-x:只沿水平方向平铺
  • repeat-y:只沿竖直方向平铺 ```html <!DOCTYPE html>

    主要学习哪些内容?

    主要学习的课程:Html 、 CSS 、 Javascript 。

  1. ![image.png](https://cdn.nlark.com/yuque/0/2020/png/2211273/1601881116295-a66f4851-69c6-44d6-9277-451e19b79fd2.png#align=left&display=inline&height=134&margin=%5Bobject%20Object%5D&name=image.png&originHeight=267&originWidth=847&size=213569&status=done&style=none&width=423.5)
  2. <a name="LndVz"></a>
  3. ### background-position背景图像位置
  4. 单位:px 直接设置图像左上角在元素中的坐标。
  5. <a name="3qVpo"></a>
  6. #### 对齐方式
  7. –水平方向值:leftcenterright。<br />–垂直方向值:topcenterbottom
  8. ```html
  9. <!DOCTYPE html>
  10. <html>
  11. <head>
  12. <meta charset="utf-8">
  13. <title>平铺</title>
  14. <style type="text/css">
  15. body{
  16. background-image:url(img/wdjl.jpg); /*设置网页的背景图像*/
  17. background-repeat:no-repeat; /*设置背景图像不平铺*/
  18. background-position: center bottom;
  19. }
  20. </style>
  21. </head>
  22. <body>
  23. <h2>主要学习哪些内容?</h2>
  24. <p style="height:300px">主要学习的课程:Html 、 CSS 、 Javascript 。 </p>
  25. </body>
  26. </html>

image.png

百分比

  • 0% 0% 表示图像左上角与元素的左上角对齐。
  • 50% 50% 表示图像50% 50%中心点与元素50% 50%的中心点对齐。
  • 20% 30% 表示图像20% 30%的点与元素20% 30%的点对齐。
  • 100% 100% 表示图像右下角与元素的右下角对齐,而不是图像充满元素。
  • 如果只有一个百分数,将作为水平值,垂直值则默认为50%。

    background-attachment背景图像固定

    scroll:图像随页面元素一起滚动(默认值)。
    fixed:图像固定在屏幕上,不随页面元素滚动。

    综合设置元素背景

    在CSS中背景属性也是一个复合属性,可以将背景相关的样式都综合定义在一个复合属性background

    语法

    background:背景色 url(“图像”) 平铺 定位 固定;

    元素的类型

    行内元素span

    常用于定义网页中某些特殊显示的文本,配合class属性使用。

    display元素转换

    常用的属性值及含义

  • inline:此元素将显示为行内元素(行内元素默认的display属性值)。

  • block:此元素将显示为块元素(块元素默认的display属性值)。
  • inline-block:此元素将显示为行内块元素,可以对其设置宽高和对齐等属性,但是该元素不会独占一行。
  • none:此元素将被隐藏,不显示,也不占用页面空间,相当于该元素不存在。 ```java <!DOCTYPE html>
    第一个div中的文本
    第二个div中的文本
    第三个div中的文本
    第一个span中的文本 第二个span中的文本 第三个span中的文本
  1. ![image.png](https://cdn.nlark.com/yuque/0/2020/png/2211273/1602059069752-7cf21684-8533-47de-af6c-984da6f51b5d.png#align=left&display=inline&height=212&margin=%5Bobject%20Object%5D&name=image.png&originHeight=424&originWidth=721&size=114544&status=done&style=none&width=360.5)
  2. <a name="JgFZM"></a>
  3. # 伪类
  4. CSS 伪类(**Pseudo-classes**)用于向某些选择器添加特殊的效果
  5. <a name="dDFuh"></a>
  6. ## 链接伪类
  7. ![image.png](https://cdn.nlark.com/yuque/0/2020/png/2211273/1602059500395-b5ffabd3-9a8b-48c8-ac81-009b0a413bae.png#align=left&display=inline&height=160&margin=%5Bobject%20Object%5D&name=image.png&originHeight=228&originWidth=673&size=30096&status=done&style=none&width=473)<br />**提示**:在 CSS 定义中,a:hover 必须被置于 a:link 和 a:visited 之后,才是有效的。<br />**提示**:在 CSS 定义中,a:active 必须被置于 a:hover 之后,才是有效的。<br />**定义顺序**:遵循“爱恨原则”,即“LoVe-HAte”原则
  8. 优先级:<br />若没有a{}<br />若无a:linka:link将采用默认的字体大小和颜色<br />若无a:hovera:hover将继承a:link的所有属性。若有a:linka:hover继承自己没有的属性。<br />若没有a:activea:active将先继承a:hover中的所有属性,然后从a:link继承没有的属性。<br />若没有a:visited, a:visited将采用默认的字体大小和颜色。<br />总结:优先级L->V->H->A。可以这样记**LoVe HAte(爱恨)**
  9. ```java
  10. a {
  11. color: #000;
  12. text-decoration: overline;
  13. }
  14. a:link {
  15. color: #F00;
  16. text-decoration: none;
  17. }
  18. a:visited {
  19. color: #0F0;
  20. text-decoration: none;
  21. }
  22. a:hover {
  23. color: #00F;
  24. text-decoration: underline;
  25. }
  26. a:active {
  27. color: #FF0;
  28. text-decoration: none;
  29. }

image.png

伪类选择器

基本语法

selector:pseudo-class {property:value;}
image.pngimage.png

伪类选择符 示例 描述
:focus input:focus 选择获得焦点状态下的元素
:enabled(:disabled) input:enabled(:disabled) 选择启用(禁用)状态的表单元素
:checked input:checked 被选中的单选按钮或复选框
:valid(:invalid) input:valid(:invalid) 验证输入数据,匹配有效(无效)的input元素
:not input:not(.radio) 选择除去应用了radio类之外的所有input元素
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>伪类选择器</title>
  6. <style type="text/css">
  7. h3{
  8. text-align:center;
  9. color:#900;
  10. }
  11. table{
  12. /* 表格边框宽度 */
  13. border:10px solid #E7E7E7;
  14. }
  15. /* 匹配第一个tr里的元素 */
  16. tr:first-child{
  17. background:#E7E7E7;
  18. font-weight:bold;
  19. }
  20. td{
  21. height:50px;
  22. width:160px;
  23. /* td里面文字居中 */
  24. text-align:center;
  25. vertical-align:middle;
  26. border-bottom:#E7E7E7 1px solid;
  27. border-right:#E7E7E7 1px solid;
  28. }
  29. td:last-of-type{
  30. border-right:0px;
  31. }
  32. tr:nth-child(2n){
  33. background:#CFCFCF;
  34. }
  35. </style>
  36. </head>
  37. <body>
  38. <h3>鞋子尺码对照单</h3>
  39. <table align="center" cellpadding="0" cellspacing="0">
  40. <tr>
  41. <td>脚长(单位:cm)</td>
  42. <td>尺码(单位:cm)</td>
  43. <td>欧码</td>
  44. <td>英码</td>
  45. <td>美码</td>
  46. </tr>
  47. <tr>
  48. <td>23.7</td>
  49. <td>24</td>
  50. <td>38.5</td>
  51. <td>5.5</td>
  52. <td>6</td>
  53. </tr>
  54. <tr>
  55. <td>24.1</td>
  56. <td>24.5</td>
  57. <td>39</td>
  58. <td>6</td>
  59. <td>6.5</td>
  60. </tr>
  61. <tr>
  62. <td>24.5</td>
  63. <td>25</td>
  64. <td>40</td>
  65. <td>6</td>
  66. <td>7</td>
  67. </tr>
  68. <tr>
  69. <td>25</td>
  70. <td>25.5</td>
  71. <td>40.5</td>
  72. <td>6.5</td>
  73. <td>7.5</td>
  74. </tr>
  75. <tr>
  76. <td>25.4</td>
  77. <td>26</td>
  78. <td>41</td>
  79. <td>7</td>
  80. <td>8</td>
  81. </tr>
  82. <tr>
  83. <td>25.8</td>
  84. <td>26.5</td>
  85. <td>42</td>
  86. <td>7.5</td>
  87. <td>8.5</td>
  88. </tr>
  89. <tr>
  90. <td>26.2</td>
  91. <td>27</td>
  92. <td>42.5</td>
  93. <td>8</td>
  94. <td>9</td>
  95. </tr>
  96. <tr>
  97. <td>26.7</td>
  98. <td>27.5</td>
  99. <td>43</td>
  100. <td>8.5</td>
  101. <td>9.5</td>
  102. </tr>
  103. </table>
  104. </body>
  105. </html>

image.png

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>伪类</title>
  6. <style type="text/css">
  7. h3{
  8. text-align:center;
  9. }
  10. table{
  11. border:1px solid #A6A6A6;
  12. }
  13. td{
  14. width:150px;
  15. height:40px;
  16. text-align:center;
  17. vertical-align:middle;
  18. /* 表格内外边框样式 */
  19. border:1px dashed #D1D1D1;
  20. }
  21. .content{
  22. background:#9CF;
  23. font-weight:bold;
  24. color:#F00;
  25. }
  26. /* hover 选择鼠标悬停链接上的状态 */
  27. tr:hover{
  28. background:#FCF;
  29. }
  30. </style>
  31. </head>
  32. <body>
  33. <h3>婴儿身高体重标准表</h3>
  34. <table border="0" align="center" cellpadding="0" cellspacing="0">
  35. <tr class="content">
  36. <td rowspan="2">年龄</td>
  37. <td colspan="2">体重(kg)</td>
  38. <td colspan="2">身高(cm)</td>
  39. </tr>
  40. <tr class="content">
  41. <td>男</td>
  42. <td>女</td>
  43. <td>男</td>
  44. <td>女</td>
  45. </tr>
  46. <tr>
  47. <td>出生</td>
  48. <td>2.9-3.8</td>
  49. <td>2.7-3.6</td>
  50. <td>48.2-52.8</td>
  51. <td>47.7-52.0</td>
  52. </tr>
  53. <tr>
  54. <td>1月</td>
  55. <td>3.6-5.0</td>
  56. <td>3.4-4.5</td>
  57. <td>52.1-57.0</td>
  58. <td>51.2-55.8</td>
  59. </tr>
  60. <tr>
  61. <td>2月</td>
  62. <td>4.3-6.0</td>
  63. <td>4.0-5.4</td>
  64. <td>55.5-60.7</td>
  65. <td>54.4-59.2</td>
  66. </tr>
  67. <tr>
  68. <td>3月</td>
  69. <td>5.0-6.9</td>
  70. <td>4.7-6.2</td>
  71. <td>58.5-63.7</td>
  72. <td>57.1-59.5</td>
  73. </tr>
  74. <tr>
  75. <td>4月</td>
  76. <td>5.7-7.6</td>
  77. <td>5.3-6.9</td>
  78. <td>61.0-66.4</td>
  79. <td>59.4-64.5</td>
  80. </tr>
  81. <tr>
  82. <td>5月</td>
  83. <td>6.3-8.2</td>
  84. <td>5.8-7.5</td>
  85. <td>63.2-68.6</td>
  86. <td>61.5-66.7</td>
  87. </tr>
  88. <tr>
  89. <td>6月</td>
  90. <td>6.9-8.8</td>
  91. <td>6.3-8.1</td>
  92. <td>65.1-70.5</td>
  93. <td>63.3-68.6</td>
  94. </tr>
  95. <tr>
  96. <td>8月</td>
  97. <td>7.8-9.8</td>
  98. <td>7.2-9.1</td>
  99. <td>68.3-73.6</td>
  100. <td>66.4-71.8</td>
  101. </tr>
  102. <tr>
  103. <td>10月</td>
  104. <td>8.6-10.6</td>
  105. <td>7.9-9.9</td>
  106. <td>71.0-76.3</td>
  107. <td>69.0-74.5</td>
  108. </tr>
  109. <tr>
  110. <td>12月</td>
  111. <td>9.1-11.3</td>
  112. <td>8.5-10.6</td>
  113. <td>73.4-78.8</td>
  114. <td>71.5-77.1</td>
  115. </tr>
  116. </table>
  117. </body>
  118. </html>

image.png

伪元素选择器

伪元素

虚拟元素,代表某元素的子元素,逻辑上存在,但不在文档树中
image.png

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>伪元素</title>
  6. <style type="text/css">
  7. p
  8. {
  9. font-size:16px;
  10. line-height: 30px;
  11. }
  12. /* 选择p段落首字母 */
  13. p:first-letter
  14. {
  15. color: #ff0000;
  16. font-size:20px;
  17. /* 首字母左边距 */
  18. margin-left: 30px;
  19. }
  20. /* p元素首行 */
  21. p:first-line
  22. {
  23. color:#0000ff;
  24. /* 英文变体 */
  25. font-variant:small-caps;
  26. }
  27. /* p内容前面插入新内容,必须配合content属性指定新内容 */
  28. p:before
  29. { content: "";
  30. background:url(img/74ceec03d661763b9e56035ced83e34.jpg) no-repeat;
  31. background-size: 30px 30px;
  32. width:30px;
  33. height:30px;
  34. position: absolute;
  35. }
  36. p:after
  37. {
  38. content: "编辑:陈晨"
  39. }
  40. </style>
  41. </head>
  42. <body>
  43. <p>河北农业大学(Hebei Agricultural University)位于河北省保定市,是河北省人民政府与教育部、农业农村部、国家林业和草原局分别共建的省属重点骨干大学,学校入选第一批“卓越农林人才教育培养计划”和“卓越工程师教育培养计划”。</p>
  44. <p>河北农业大学的前身是光绪二十八年(1902年)创立的直隶农务学堂;1912年改为直隶公立农业专门学校;1921年直隶公立农业专门学校、医务学堂,还有法律、法政、高等师范等学堂合并,组成河北大学;1931年河北大学解散,河北省立农学院独立办学;1958年河北农学院更名为河北农业大学;1995年与原河北林学院合并组建为新的河北农业大学。 </p>
  45. </body>
  46. </html>

image.png

优先级

image.png

position布局属性

描述
absolute 生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。
元素的位置通过 “left”, “top”, “right” 以及 “bottom” 属性进行规定。
fixed 生成绝对定位的元素,相对于浏览器窗口进行定位。
元素的位置通过 “left”, “top”, “right” 以及 “bottom” 属性进行规定。
relative 生成相对定位的元素,相对于其正常位置进行定位。
因此,”left:20” 会向元素的 LEFT 位置添加 20 像素。
static 默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)
inherit 规定应该从父元素继承 position 属性的值。
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>定位</title>
  6. <style type="text/css">
  7. h2.pos_left
  8. {
  9. position:relative;
  10. left:-20px
  11. }
  12. h2.pos_right
  13. {
  14. /* relative 相对其正常位置进行定位 */
  15. position:relative;
  16. /* 向left移动20像素 */
  17. left:20px
  18. }
  19. h2.pos_abs
  20. {
  21. /* 绝对定位 */
  22. position:absolute;
  23. left:100px;
  24. top:150px
  25. }
  26. p.one
  27. {
  28. /* 相对于阅览器窗口进行定位 */
  29. position:fixed;
  30. left:100px;
  31. top:200px;
  32. }
  33. p.two
  34. {
  35. position:fixed;
  36. top:200px;
  37. right:100px;
  38. }
  39. </style>
  40. </head>
  41. <body>
  42. <h2>这是位于正常位置的标题</h2>
  43. <h2 class="pos_left">这个标题相对于其正常位置向左移动</h2>
  44. <h2 class="pos_right">这个标题相对于其正常位置向右移动</h2>
  45. <h2 class="pos_abs">这是带有绝对定位的标题</h2>
  46. <p class="one">左侧文本。</p>
  47. <p class="two">右侧文本。</p>
  48. </body>
  49. </html>

image.png

z-index堆叠顺序属性

描述
auto 默认。堆叠顺序与父元素相等。
number 设置元素的堆叠顺序。
inherit 规定应该从父元素继承 z-index 属性的值。

注释:元素可拥有负的 z-index 属性值。
注释:Z-index仅能在定位元素上奏效(例如position:absolute;)!

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>z-index</title>
  6. <style type="text/css">
  7. img.x
  8. {
  9. /* Z-index仅能在定位元素上奏效*/
  10. position:absolute;
  11. left:0px;
  12. top:0px;
  13. z-index:-1 /*可以是负的*/
  14. }
  15. </style>
  16. </head>
  17. <body>
  18. <h1>这是一个标题</h1>
  19. <img class="x" src="img/eg_mouse.jpg" />
  20. <p>默认的 z-index 0Z-index -1 拥有更低的优先级。</p>
  21. </body>
  22. </html>