web作业-css总结
基本语法
1 | 选择器 { |
- 选择器:要修饰的对象
- 属性名:修饰对象使用某一个属性
- 属性值:属性的取值
使用方式
css
有三种使用方式,分别是:内部样式、内联引用样式、外部样式
内部样式
1 | <head> |
嵌入在 head
标签中,且使用 style
标签包裹
内联引用
1 | <body> |
外部引用
1 | <link rel="stylesheet" type="text/css" href="style.css"> |
使用 link
标签在 head
标签之间引用
选择器
元素选择器
通过 tag
来选择 html
元素,比如选择所有的 p
元素
1 | p { |
类选择器
通过 class
属性值来选择相应的 html
元素,例如:
1 | .example { |
1 | <p class="example">hhhh</p> |
id 选择器
通过 id
属性值来选择相应的 html
元素,例如:
1 | #example { |
1 | <p id="example">hhhh</p> |
属性选择器
通过元素的属性值来选择 html
元素,可以指定属性的值去特化一下
1 | [value] { |
1 | <p value="">aaa</p> |
后代选择器
通过选择器的嵌套关系来选择 html
元素,例如选择所有 div
元素内的 p
元素
1 | div p { |
1 | <div> |
子选择器
通过直接的父子元素关系来选择 html
元素,例如选择 div
元素下的直接子元素 p
元素。
1 | div > p { |
1 | <div> |
和后代选择器的区别在于:后代选择器会应用于任意深度的子元素,而子选择器只会选择子元素,而不会应用更深的后代元素
相邻兄弟选择器
相邻兄弟选择器:通过选择器之间的相邻兄弟元素关系来选择 html
元素,例如选择 div
元素后面的相邻兄弟元素 p
元素
1 | div + p { |
1 | <div>This is some text</div> |
通用选择器
其选择所有的 html
元素
1 | * { |
伪类选择器
通过元素的状态来选择 html
元素,例如选择鼠标悬停在链接上的 a
元素
1 | a:hover { |
伪类选择器通常有四种状态:
:link
未访问的链接:visited
已访问的链接:hover
鼠标悬浮到连接上,即移动在连接上:active
选定的链接,被激活
伪元素选择器
通过元素的特定部分来选择 html
元素,例如选择段落开头的第一行或第一个字母
1 | p::first-line { |
伪元素选择器也通常有四种状态:
:first-letter
为第一个字符的样式:first-line
为第一行添加样式:before
在元素内容的最前面添加的内容,需要配合content
属性使用:after
在元素内容的最后面添加的内容,需要配合content
属性使用
结构性伪类选择器
结构性伪类选择器:通过元素在文档树中的位置关系来选择 html
元素,例如选择第一个子元素或者最后一个子元素
1 | li:first-child { |
否定伪类选择器
否定伪类选择器:通过排除某些元素来选择 html
元素,例如选择除了 class
属性值为 example
的所有 p
元素。
1 | p:not(.example) { |
属性值匹配选择器
属性值匹配选择器:通过元素的属性值来选择 html
元素,例如选择 href
属性值以 https://
开头的所有 a
元素。
1 | a[href^="https://"] { |
选择器优先级
行内样式 > ID选择器 > 类选择器 > 标签选择器
后加载会覆盖先加载的同名样式
常用 css 属性
color
设置文本颜色
1 | p { |
font-size
设置字体大小
1 | h1 { |
属性值取值:
inherited
继承,默认从父标签继承字体大小。并且所有css
属性的默认值都是inherited
px
像素pixel
%
相对于父标签字体大小的百分比em
相对于父标签字体大小的倍数
注意: html
根目录元素的字体大小默认为 16px
font-family
设置字体样式
1 | body { |
字体可以写三种,分别是:首选,其次,备选
font-weight
设置字体粗细
1 | strong { |
normal
普通bold
粗体
text-align
设置文本对齐方式
1 | p { |
属性可选值有:
left
左对齐center
居中对齐right
右对齐justify
两端对齐
background-color
设置背景颜色,可选值和 color
一样
1 | body { |
以下是和盒子模型相关的属性
盒子模型
盒子模型是网页布局的基础,将页面中所有元素都看作是一个盒子,通常盒子都包含以下几个属性:
border
边框margin
外边距padding
内边距width
宽度height
高度
border
设置边框样式,可选值包括 边框线宽
、 边框线样式
、 边框线颜色
,也可以使用简写形式
1 | p { |
margin
设置外边距,可选值包括 像素值
、 百分比值
、 auto
(自动计算外边距)、 负值
等。
1 | p { |
padding
设置内边距,可选值同 margin
1 | p { |
position
设置元素的定位方式,可选值包括:
static
静态定位relative
相对定位absolute
绝对定位fixed
固定定位
1 | div { |
width
设置元素宽度,可选值包括 像素值
、 百分比值
、 auto
(自动计算宽度)等
1 | img { |
height
设置元素高度,可选值同 width
1 | video { |