目录

CSS 基础

CSS 语法

https://cdn.jsdelivr.net/gh/Gethin1990/PicBed/BlogImg/20210624151345-2021-06-24-15-13-47.png

1
2
/*这是个注释*/
p {color:red;text-align:center;}

CSS 选择器

id选择器

1
2
3
4
5
#para1
{
    text-align:center;
    color:red;
}

class 选择器

1
.center {text-align:center;}

css样式表

外部样式表(External style sheet)

1
2
3
4
5
6
7
8
/* mystyle.css */
hr {color:sienna;}
p {margin-left:20px;}
body {background-image:url("/images/back40.gif");}
/* html*/
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head>

内部样式表(Internal style sheet)

1
2
3
4
5
6
7
<head>
    <style>
        hr {color:sienna;}
        p {margin-left:20px;}
        body {background-image:url("images/back40.gif");}
    </style>
</head>

内联样式(Inline style)

1
<p style="color:sienna;margin-left:20px">这是一个段落。</p>

多重样式优先级

(内联样式)Inline style > (内部样式)Internal style sheet >(外部样式)External style sheet >

盒子模型

https://cdn.jsdelivr.net/gh/Gethin1990/PicBed/BlogImg/20210624161150-2021-06-24-16-11-51.png

分组选择器

1
2
3
4
h1,h2,p
{
    color:green;
}

嵌套选择器

  • p{ }: 为所有 p 元素指定一个样式。
  • .marked{ }: 为所有 class="marked” 的元素指定一个样式。
  • .marked p{ }: 为所有 class="marked” 元素内的 p 元素指定一个样式。
  • p.marked{ }: 为所有 class="marked” 的 p 元素指定一个样式。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
p
{
    color:blue;
    text-align:center;
}
.marked
{
    background-color:red;
}
.marked p
{
    color:white;
}
p.marked{
    text-decoration:underline;
}

隐藏元素

  • visibility:hidden可以隐藏某个元素,但隐藏的元素仍需占用与未隐藏之前一样的空间。也就是说,该元素虽然被隐藏了,但仍然会影响布局。
  • display:none可以隐藏某个元素,且隐藏的元素不会占用任何空间。也就是说,该元素不但被隐藏了,而且该元素原本占用的空间也会从页面布局中消失。

块元素是一个元素,占用了全部宽度,在前后都是换行符。
内联元素只需要必要的宽度,不强制换行。
块元素:<h1> <p> <div>
内联元素 <span> <a>

如何改变一个元素显示

li {display:inline;} span {display:block;}

Position(定位)

  • static 定位
    HTML 元素的默认值,即没有定位,遵循正常的文档流对象。
  • fixed 定位
    元素的位置相对于浏览器窗口是固定位置。 即使窗口是滚动的它也不会移动。
  • relative 定位 相对定位元素的定位是相对其正常位置。
  • absolute 定位 绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的位置相对于<html>
  • sticky 定位 sticky 英文字面意思是粘,粘贴,所以可以把它称之为粘性定位。 position: sticky; 基于用户的滚动位置来定位。 粘性定位的元素是依赖于用户的滚动,在 position:relative 与 position:fixed 定位之间切换。
  • 重叠的元素 元素的定位与文档流无关,所以它们可以覆盖页面上的其它元素 z-index属性指定了一个元素的堆叠顺序(哪个元素应该放在前面,或后面)

Float(浮动)

  • CSS 的 Float(浮动),会使元素向左或向右移动,其周围的元素也会重新排列。

    1
    2
    3
    4
    
    img
    {
        float:right;
    }
    
  • 元素浮动之后,周围的元素会重新排列,为了避免这种情况,使用 clear 属性。

    1
    2
    3
    4
    
    .text_line
    {
        clear:both;
    }
    

CSS 布局 - 水平 & 垂直对齐

  • 元素居中对齐: margin: auto;
  • 文本居中对齐: text-align: center;
  • 图片居中对齐:margin: auto;
  • 左右对齐 - 使用定位方式: position: absolute;right: 0px;
  • 左右对齐 - 使用 float 方式:float: right;
  • 垂直居中对齐 - 使用 padding: padding: 70px 0; text-align: center
  • 垂直居中 - 使用 line-height: line-height: 1.5;
  • 垂直居中 - 使用 position 和 transform:position: absolute;transform: translate(-50%, -50%);

组合选择符

  • 后代选择器(以空格 分隔)
  • 子元素选择器(以大于 > 号分隔)
  • 相邻兄弟选择器(以加号 + 分隔)
  • 普通兄弟选择器(以波浪号 ~ 分隔)

伪类(Pseudo-classes) & 伪元素

selector:pseudo-class {property:value;} selector:pseudo-element {property:value;}

导航栏、下拉菜单、提示工具、图片廊、图像透明、图像拼合、表单、网页布局

参考:https://www.runoob.com/css/css-navbar.html

属性选择器

1
2
3
4
[title]
{
    color:blue;
}

CSS 基础

属性描述
CSS 背景
background简写属性,作用是将背景属性设置在一个声明中。
background-attachment背景图像是否固定或者随着页面的其余部分滚动。
background-color设置元素的背景颜色。
background-image把图像设置为背景。
background-position设置背景图像的起始位置。
ackground-repeat设置背景图像是否及如何重复。
CSS 文本格式
color设置文本颜色
direction设置文本方向。
letter-spacing设置字符间距
line-height设置行高
text-align对齐元素中的文本
text-decoration向文本添加修饰
text-indent缩进元素中文本的首行
text-shadow设置文本阴影
text-transform控制元素中的字母
unicode-bidi设置或返回文本是否被重写
vertical-align设置元素的垂直对齐
white-space设置元素中空白的处理方式
word-spacing设置字间距
CSS字体
font在一个声明中设置所有的字体属性
font-family指定文本的字体系列
font-size指定文本的字体大小
font-style指定文本的字体样式
font-variant以小型大写字体或者正常字体显示文本。
font-weight指定字体的粗细。
链接样式
a:link正常,未访问过的链接
a:visited用户已访问过的链接
a:hover当用户鼠标放在链接上时
a:active链接被点击的那一刻
CSS列表属性
list-style简写属性。用于把所有用于列表的属性设置于一个声明中
list-style-image将图像设置为列表项标志。
list-style-position设置列表中列表项标志的位置。
list-style-type设置列表项标志的类型。
CSS 盒子模型
Margin(外边距)清除边框外的区域,外边距是透明的。
Border(边框)围绕在内边距和内容外的边框。
Padding(内边距)清除内容周围的区域,内边距是透明的。
Content(内容)盒子的内容,显示文本和图像。
CSS 边框属性
border简写属性,用于把针对四个边的属性设置在一个声明。
border-style用于设置元素所有边框的样式,或者单独地为各边设置边框样式。
border-width简写属性,用于为元素的所有边框设置宽度,或者单独地为各边边框设置宽度。
border-color简写属性,设置元素的所有边框中可见部分的颜色,或为 4 个边分别设置颜色。
CSS 尺寸
height设置元素的高度。
line-height设置行高。
max-height设置元素的最大高度。
max-width设置元素的最大宽度。
min-height设置元素的最小高度。
min-width设置元素的最小宽度。
width设置元素的宽度。
CSS Overflow
visible默认值。内容不会被修剪,会呈现在元素框之外。
hidden内容会被修剪,并且其余内容是不可见的。
scroll内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
auto如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。
inherit规定应该从父元素继承 overflow 属性的值。
CSS 伪类
:checked选择所有选中的表单元素
:disabled选择所有禁用的表单元素
:empty选择所有没有子元素的p元素
:enabled选择所有启用的表单元素
:first-of-type选择的每个 p 元素是其父元素的第一个 p 元素
:in-range选择元素指定范围内的值
:invalid选择所有无效的元素
:last-child选择所有p元素的最后一个子元素
:last-of-type选择每个p元素是其母元素的最后一个p元素
:not(selector)选择所有p以外的元素
:nth-child(n)选择所有 p 元素的父元素的第二个子元素
:nth-last-child(n)选择所有p元素倒数的第二个子元素
:nth-last-of-type(n)选择所有p元素倒数的第二个为p的子元素
:nth-of-type(n)选择所有p元素第二个为p的子元素
:only-of-type选择所有仅有一个子元素为p的元素
:only-child选择所有仅有一个子元素的p元素
:optional选择没有"required"的元素属性
:out-of-range选择指定范围以外的值的元素属性
:read-only选择只读属性的元素属性
:read-write选择没有只读属性的元素属性
:required选择有"required"属性指定的元素属性
:root选择文档的根元素
:target选择当前活动#news元素(点击URL包含锚的名字)
:valid选择所有有效值的属性
:link选择所有未访问链接
:visited选择所有访问过的链接
:active选择正在活动链接
:hover把鼠标放在链接上的状态
:focus选择元素输入后具有焦点
:first-letter选择每个<p> 元素的第一个字母
:first-line选择每个<p> 元素的第一行
:first-child选择器匹配属于任意元素的第一个子元素的 <p> 元素
:before在每个<p>元素之前插入内容
:after在每个<p>元素之后插入内容
:lang(language)<p>元素的lang属性选择一个开始值
CSS伪元素
:link选择所有未访问链接
:visited选择所有访问过的链接
:active选择正在活动链接
:hover把鼠标放在链接上的状态
:focus选择元素输入后具有焦点
:first-letter选择每个<p> 元素的第一个字母
:first-line选择每个<p> 元素的第一行
:first-child选择器匹配属于任意元素的第一个子元素的 <p> 元素
:before在每个<p>元素之前插入内容
:after在每个<p>元素之后插入内容
:lang(language)<p>元素的lang属性选择一个开始值
媒体类型
all用于所有的媒体设备。
aural用于语音和音频合成器。
braille用于盲人用点字法触觉回馈设备。
embossed用于分页的盲人用点字法打印机。
handheld用于小的手持的设备。
print用于打印机。
projection用于方案展示,比如幻灯片。
screen用于电脑显示器。
tty用于使用固定密度字母栅格的媒体,比如电传打字机和终端。
tv用于电视机类型的设备。
计数器
content使用 ::before 和 ::after 伪元素来插入自动生成的内容
counter-increment递增一个或多个值
counter-reset创建或重置一个或多个计数器

CSS3 基础

图片、按钮、分页、框大小、弹性盒子、多媒体查询

参考:https://www.runoob.com/css3/css3-images.html

基础属性如下

属性描述
边框
border-image设置所有边框图像的速记属性。
border-radius一个用于设置所有四个边框- *-半径属性的速记属性
box-shadow附加一个或多个下拉框的阴影
圆角
border-radius所有四个边角 border---radius 属性的缩写
border-top-left-radius定义了左上角的弧度
border-top-right-radius定义了右上角的弧度
border-bottom-right-radius定义了右下角的弧度
border-bottom-left-radius定义了左下角的弧度
背景
background-clip规定背景的绘制区域。
background-origin规定背景图片的定位区域。
background-size规定背景图片的尺寸。
渐变
background-image: linear-gradient(direction, color-stop1, color-stop2, ...);线性渐变
background-image: linear-gradient(angle, color-stop1, color-stop2);角度渐变
background-image: linear-gradient(to right, rgba(255,0,0,0), rgba(255,0,0,1));透明度
background-image: repeating-linear-gradient(red, yellow 10%, green 20%);重复线性渐变
background-image: radial-gradient(shape size at position, start-color, ..., last-color);径向渐变
background-image: radial-gradient(circle, red, yellow, green);设置形状
closest-side、farthest-side、closest-corner、farthest-corner不同尺寸大小关键字
background-image: repeating-radial-gradient(red, yellow 10%, green 15%);重复的径向渐变
新文本
hanging-punctuation规定标点字符是否位于线框之外。
punctuation-trim规定是否对标点字符进行修剪。
text-align-last设置如何对齐最后一行或紧挨着强制换行符之前的行。
text-emphasis向元素的文本应用重点标记以及重点标记的前景色。
text-justify规定当 text-align 设置为 “justify” 时所使用的对齐方法。
text-outline规定文本的轮廓。
text-overflow规定当文本溢出包含元素时发生的事情。
text-shadow向文本添加阴影。
text-wrap规定文本的换行规则。
word-break规定非中日韩文本的换行规则。
word-wrap允许对长的不可分割的单词进行分割并换行到下一行。
新转换属性
transform适用于2D或3D转换的元素
transform-origin允许您更改转化元素位置
transform-style规定被嵌套元素如何在 3D 空间中显示。
perspective规定 3D 元素的透视效果。
perspective-origin规定 3D 元素的底部位置
backface-visibility定义元素在不面对屏幕时是否可见。
2D 转换方法
matrix(n,n,n,n,n,n)定义 2D 转换,使用六个值的矩阵。
translate(x,y)定义 2D 转换,沿着 X 和 Y 轴移动元素。
translateX(n)定义 2D 转换,沿着 X 轴移动元素。
translateY(n)定义 2D 转换,沿着 Y 轴移动元素。
scale(x,y)定义 2D 缩放转换,改变元素的宽度和高度。
scaleX(n)定义 2D 缩放转换,改变元素的宽度。
scaleY(n)定义 2D 缩放转换,改变元素的高度。
rotate(angle)定义 2D 旋转,在参数中规定角度。
skew(x-angle,y-angle)定义 2D 倾斜转换,沿着 X 和 Y 轴。
skewX(angle)定义 2D 倾斜转换,沿着 X 轴。
skewY(angle)定义 2D 倾斜转换,沿着 Y 轴。
3D 转换方法
matrix3d(n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n)定义 3D 转换,使用 16 个值的 4x4 矩阵。
translate3d(x,y,z)定义 3D 转化。
translateX(x)定义 3D 转化,仅使用用于 X 轴的值。
translateY(y)定义 3D 转化,仅使用用于 Y 轴的值。
translateZ(z)定义 3D 转化,仅使用用于 Z 轴的值。
scale3d(x,y,z)定义 3D 缩放转换。
scaleX(x)定义 3D 缩放转换,通过给定一个 X 轴的值。
scaleY(y)定义 3D 缩放转换,通过给定一个 Y 轴的值。
scaleZ(z)定义 3D 缩放转换,通过给定一个 Z 轴的值。
rotate3d(x,y,z,angle)定义 3D 旋转。
rotateX(angle)定义沿 X 轴的 3D 旋转。
rotateY(angle)定义沿 Y 轴的 3D 旋转。
rotateZ(angle)定义沿 Z 轴的 3D 旋转。
perspective(n)定义 3D 转换元素的透视视图。
过渡属性
transition简写属性,用于在一个属性中设置四个过渡属性。
transition-property规定应用过渡的 CSS 属性的名称。
transition-duration定义过渡效果花费的时间。默认是 0。
transition-timing-function规定过渡效果的时间曲线。默认是 “ease”。
transition-delay规定过渡效果何时开始。默认是 0。
动画属性
@keyframes规定动画。
animation所有动画属性的简写属性。
animation-name规定 @keyframes 动画的名称。
animation-duration规定动画完成一个周期所花费的秒或毫秒。默认是 0。
animation-timing-function规定动画的速度曲线。默认是 “ease”。
animation-fill-mode规定当动画不播放时(当动画完成时,或当动画有一个延迟未开始播放时),要应用到元素的样式。
animation-delay规定动画何时开始。默认是 0。
animation-iteration-count规定动画被播放的次数。默认是 1。
animation-direction规定动画是否在下一周期逆向地播放。默认是 “normal”。
animation-play-state规定动画是否正在运行或暂停。默认是 “running”。
多列属性
column-count指定元素应该被分割的列数。
column-fill指定如何填充列
column-gap指定列与列之间的间隙
column-rule所有 column-rule-* 属性的简写
column-rule-color指定两列间边框的颜色
column-rule-style指定两列间边框的样式
column-rule-width指定两列间边框的厚度
column-span指定元素要跨越多少列
column-width指定列的宽度
columnscolumn-width 与 column-count 的简写属性。
用户界面特性
appearance允许您使一个元素的外观像一个标准的用户界面元素
box-sizing允许你以适应区域而用某种方式定义某些元素
icon为创作者提供了将元素设置为图标等价物的能力。
nav-down指定在何处使用箭头向下导航键时进行导航
nav-index指定一个元素的Tab的顺序
nav-left指定在何处使用左侧的箭头导航键进行导航
nav-right指定在何处使用右侧的箭头导航键进行导航
nav-up指定在何处使用箭头向上导航键时进行导航
outline-offset外轮廓修饰并绘制超出边框的边缘
resize指定一个元素是否是由用户调整大小
弹性盒子属性
display指定 HTML 元素盒子类型。
flex-direction指定了弹性容器中子元素的排列方式
justify-content设置弹性盒子元素在主轴(横轴)方向上的对齐方式。
align-items设置弹性盒子元素在侧轴(纵轴)方向上的对齐方式。
flex-wrap设置弹性盒子的子元素超出父容器时是否换行。
align-content修改 flex-wrap 属性的行为,类似 align-items, 但不是设置子元素对齐,而是设置行对齐
flex-flowflex-direction 和 flex-wrap 的简写
order设置弹性盒子的子元素排列顺序。
align-self在弹性子元素上使用。覆盖容器的 align-items 属性。
flex设置弹性盒子的子元素如何分配空间。
多媒体查询语法
@media not|only mediatype and (expressions) {CSS 代码...;}@media screen and (max-width: 480px) {body {background-color: lightgreen;}}
多媒体类型
all用于所有多媒体类型设备
print用于打印机
screen用于电脑屏幕,平板,智能手机等。
speech用于屏幕阅读器

- 完 -

相关文章

「 感谢支持 」