目录
<div style="width:100px; height:100px; background:red;">123div>
- <head>
-
- <style>
-
- h1{
-
- width:100px;
-
- height:100px;
-
- background:red;
- }
-
- style>
- head>
- <head>
-
- <link rel="stylesheet" href="css路径">
-
- head>
| width | 表示宽 |
| height | 表示高 |
| background-color | 表示背景颜色 |
| border | 表示边框 |
| border: 1px | (边框粗细) solid(边框线类型) red(边框线颜色) |
| solid | 表示边框线(实线) |
| dashed | 表示边框线(虚线) |
| double | 表示边框线(双划线) |
| dotted | 表示边框线(点画线) |
| color | 表示字体颜色 |
| red | 表示英文红色 |
| #f00 | 表示十六进制红色 |
| rgb(255,255,255) | 表示rgb 0 - 25 |
内嵌样式 和 外联样式优先级条件是:谁在下面谁优先级高
- *{
- margin:0px;
- padding:0px;
- }
- li{
- list-style:none;
- }
- a{
- text-decoration:none;
- }
- img{
- vertical-align:top / middle / bottom
- }
| font-size:20px; | 表示字体大小为20像素 |
| font-weight:bolder / bold / 100-700 | 表示字体加粗 |
| font-family: | '黑体/宋体/微软雅黑' 表示字体类型 |
| font-style:normal; | 表示斜体变正体 |
| font-style:oblique; | 表示正体变斜体 |
| id选择器 | #id名(id名有且只有一个) |
| class选择器 | .class名 |
| *选择器(通配符) | * |
| 标签选择器 | 标签名 |
| 群组选择器 | div,h1,p,..... |
| 子代选择器 | div>p |
| 后代选择器 | div p |
| 属性选择器 | [name="user"] |
| 过滤选择器 | ::after / :after、::before / :before |
| 伪类选择器 | link 表示访问前 hover 表示鼠标移入时 active 表示访问中.. visited 表示访问后 |
id 的优先级 高于 class
class 的优先级 高于 标签
text-align:left/center/right
line-height:和高度保持一致
例如:
- height:100px;
- line-height:100px;
| white-space:nowrap; | 表示强制在一行 |
| text-overflow:ellipsis; | 出现省略号 |
| overflow:hidden; | 溢出隐藏 |
| background-image:url(图片路径) | 表示引入背景图片 |
| background-repeat:no-repeat / repeat-x / repeat-y; | 表示背景图片平铺方式(不平铺 / 水平平铺 / 垂直平铺) |
| background-position:left / top | 表示背景图片的位置 |
| background-size:10% 20%; | 表示背景图片的大小 |
| background-clip:border-box / padding-box / content-box; | 表示背景图片的绘制区域 |
| background-origin:border-box / padding-box / content-box; | 表示背景图片的定位位置 |
| background-attachment:scroll(默认) / fixed / inherit | 表示背景图片是否联动 |
| background:url(图片路径) no-repeat center; | 背景图片的合写 |
1) opcity:0.1 - 0.9;
2) background:rgba(0,0,0,0.5);
opcity把背景颜色和文本都变透明
background:rgba() 只把背景颜色变透明
- margin-top:10px;
- margin-bottom:10px;
- margin-left:10px;
- margin-right:10px;
| margin:10px; | 表示上下左右都为10像素 |
| margin:10px 20px; | 表示上下为10,左右为20 |
| margin:10px 20px 30px; | 表示上为10,左右为20,下为30 |
| margin:10px 20px 30px 40px; | 表示上为10, 右为20,下为30,左为40(顺时针) |
- padding-top:10px;
- padding-bottom:10px;
- padding-left:10px;
- padding-right:10px;
| padding:10px; | 表示上下左右都为10像素 |
| padding:10px 20px; | 表示上下为10,左右为20 |
| padding:10px 20px 30px; | 表示上为10,左右为20,下为30 |
| padding:10px 20px 30px 40px; | 表示上为10, 右为20,下为30,左为40(顺时针) |
注意:在使用内边距padding时,要减去宽/高
内容(content) + 内边距(padding) + 边框(border) + 外边距(margin)
1)标准盒子模型
2)怪异盒子模型
相同点:
组成部分都是由内容+内边距+边框+外边距
不同点:
标准盒子模型的内容宽高,不包含其他成分
怪异盒子模型的内容宽高由(内容+内边距+边框)
谁的值大,用谁的值
1)margin塌陷:父级的margin-top值 大于 子级的margin-top值
2)margin拖拽: 父级的margin-top值 小于 子级的margin-top值
1)position:absolute;
2)display: inline-block;
3)float: left;
4)overflow:hidden;
5)border:1px solid #000;
margin上下取最大值
margin左右取之和
float:left / right;
清浮动(给父级添加)
- overflow:hidden;
-
- .clearfix:after{
- content:'';
- clear:both;
- display:block;
- }
-
- .clearfix{
- zoom:1;
- }
谁需要清浮动就加 .clearfix
一般情况下 -> 上下局部 转为 左右布局时用浮动
1)子级浮动,父级要清浮动
2)同级的元素,一个浮动,其他兄弟元素都要浮动
1)使用浮动 -> float:left / right;
2)给img标签添加 -> vertical-align:top / middle / bottom;
给标签添加上划线、中划线、下划线
| text-decoration:overline; | 表示上划线 |
| text-decoration:line-through; | 表示中划线 |
| text-decoration:underline; | 表示下划线 |
1)相对定位 -> position:relative;
2)绝对定位 -> position:absolute;
3)固定定位 -> position:fixed;
1)相对定位是依据自己本身定位的
2)绝对定位是依据有定位的父级定位
3)固定定位是依据body(网页)定位
1)子级是绝对定位(position:absolute;)父级只要有定位(无论是相对定位、绝对定位还是固定定位),绝对定位的子级就会依据父级定位。
2)子级是绝对定位,但父级没定位,子级依据body定位
必须有定位(无论是相对定位、绝对定位还是固定定位)
1)父级的层级永远比相对定位/绝对定位的子级低
2)相同定位的子级,谁的z-index数值越大,谁的层级越高
border-radius:20px / 20%;
圆角的分写:
表示左上角
border-top-left-radius:20px;
表示右上角
border-top-right-radius:30px;
表示左下角
border-bottom-left-radius:40px;
表示右下角
border-bottom-right-radius:50px;
圆角的合写:
border-radius:10px 20px 30px 40px;
表示左上角、右上角、右下角、左下角(顺时针方向)
box-shadow: 1px(阴影水平位置) 1px(阴影垂直位置) 10px(模糊度) #000(阴影颜色)
border-image:url(图片路径) 左右拉伸 上下拉伸 围绕方式round(平铺填充) / stretch(拉伸填充)
background-image: Linear-gradient(方向, 颜色1, 颜色2)
background-image: radial-gradient(circle/ellipse, 颜色1, 颜色2)
text-shadow: 5px(水平阴影位置) 5px(垂直阴影位置) 10px(模糊度) #f00(阴影颜色);
box-shadow:5px(水平阴影位置) 5px(垂直阴影位置) 10px(模糊度) #f00(阴影颜色);
A: text-overflow:clip; (默认值)
B: text-overflow:ellipsis; (出现省略号)
注意:溢出隐藏出现省略号
| white-space:nowrap; | //表示强制在一行 |
| overflow:hidden; | //溢出隐藏 |
| text-overflow:ellipsis; | //出现省略号 |
| word-wrap:break-word; | 表示换行(如果有空格自动换行,没有空格分裂中间的部分) |
| word-break:keep-all; | 表示换行(只能在半角空格或连字符处换行) |
| word-break:normal; | 表示默认(使用浏览器默认的换行规则) |
| word-break:break-all; | 表示换行(允许在单词内换行) |
| overflow:hidden; | //表示溢出隐藏 |
| overflow:scroll; | //表示出现上下左右滚动条 |
| overflow:auto; | //表示出现上下滚动条 |
| transform:translate(10px(X轴), 30px(Y轴)); | //表示平移 |
| transform:rotate(30deg / -30deg); | //表示旋转正数顺时针,负数逆时针 |
| transform:scale(1.5, 2) / (1.5); | // 表示缩放原来的倍数 |
| transform:skew(30deg, 20deg) / skewX(20deg) / skewY(30deg); | //表示倾斜 |
| transformorigin:left/right/center/20%top /center/bottom/30%; | //表示改变元素的基点位置 |
3D转换:
| transform-rotateX(30deg); | // 表示3D旋转(围绕x轴) |
| transform-rotateY(20deg); | // 表示3D旋转(围绕Y轴) |
| transform-style:preserve-3d; | //表示保留子元素的3D空间效果 |
| perspective:100px; | // 表示景深(透视效果) |
| perspective-origin:left/right/center/20% top/center/bottom/20%; | //表示改变景深(透视)底部基点位置 |
| backface-visibility:hidden / visible; | //表示当元素背面向屏幕时是否可见 |
Css3中的过渡
transition:css属性名称 过渡时间(s) 运动方式(ease/linear) 延迟时间(s)
例如:
transition:width 2s ease 2s
transition:all 1s linear 2s (推荐使用这种)
注意事项:使用过渡一定要给元素的原样式上面添加
- @keyframes name名称{
-
- from / 0%{
-
- 原样式
-
- }
-
- to/100%{
-
- 改变后的样式
-
- }
-
- }
animation: name名称 动画时长(s) 运动方式(linear/ease) 延迟时间(s) 是否停在当动画位置(forwards/normal) 运动次数(3/ infinite无限循环) 是否反方向运动(normal/reverse/alternate/alternate-reverse)
例如:
animation:move 2s linear 1s forwards infinite alternate
animation-play-state:paused; 表示动画停止
| column-count | 指定元素应该被分割的列数。 |
| column-gap | 指定列与列之间的间隙 |
| column-rule | 所有 column-rule-* 属性的简写 |
| column-rule-color | 指定两列间边框的颜色 |
| column-rule-style | 指定两列间边框的样式 |
| column-rule-width | 指定两列间边框的厚度 |
| column-span | 指定元素要跨越多少列 |
| column-width | 指定列的宽度 |
| columns | 指的是column-width 与 column-count 的简写属性 |
| box-sizing:border-box; | 表示边框包含在容宽度和高度内 |
| box-sizing:content-box; | 表示边框未包含在内容宽度和高度内 |
| box-sizing:inherit; | 表示边框的属性继承父级中的box-sizing属性 |
flex-direction 属性指定了弹性子元素在父容器中的位置
flex-direction: row | row-reverse | column | column-reverse
flex-direction的值有:
| row | 横向从左到右排列(左对齐),默认的排列方式。 |
| row-reverse | 反转横向排列(右对齐,从后往前排,最后一项排在最前面。 |
| column | 纵向排列。 |
| column-reverse | 反转纵向排列,从后往前排,最后一项排在最上面。 |
语法:
justify-content: flex-start | flex-end | center | space-between | space-around
弹性项目向行头紧挨着填充。这个是默认值。第一个弹性项的main-start外边距边线被放置在该行的main-start边线,而后续弹性项依次平齐摆放。
弹性项目向行尾紧挨着填充。第一个弹性项的main-end外边距边线被放置在该行的main-end边线,而后续弹性项依次平齐摆放。
弹性项目居中紧挨着填充。(如果剩余的自由空间是负的,则弹性项目将在两个方向上同时溢出)。
弹性项目平均分布在该行上。如果剩余空间为负或者只有一个弹性项,则该值等同于flex-start。否则,第1个弹性项的外边距和行的main-start边线对齐,而最后1个弹性项的外边距和行的main-end边线对齐,然后剩余的弹性项分布在该行上,相邻项目的间隔相等。
弹性项目平均分布在该行上,两边留有一半的间隔空间。如果剩余空间为负或者只有一个弹性项,则该值等同于center。否则,弹性项目沿该行分布,且彼此间隔相等(比如是20px),同时首尾两边和弹性容器之间留有一半的间隔(1/2*20px=10px)。
表示:设置或检索弹性盒子元素在侧轴(纵轴)方向上的对齐方式。
align-items: flex-start | flex-end | center | baseline | stretch
各个值解析:
| flex-start | 弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴起始边界。 |
| flex-end | 弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴结束边界。 |
| center | 弹性盒子元素在该行的侧轴(纵轴)上居中放置。(如果该行的尺寸小于弹性盒子元素的尺寸,则会向两个方向溢出相同的长度)。 |
| baseline | 如弹性盒子元素的行内轴与侧轴为同一条,则该值与'flex-start'等效。其它情况下,该值将参与基线对齐。 |
| stretch | 如果指定侧轴大小的属性值为'auto',则其值会使项目的边距盒的尺寸尽可能接近所在行的尺寸,但同时会遵照'min/max-width/height'属性的限制。 |
表示:用于指定弹性盒子的子元素换行方式。
flex-wrap: nowrap|wrap|wrap-reverse;
| nowrap | - 默认, 弹性容器为单行。该情况下弹性子项可能会溢出容器。 |
| wrap | - 弹性容器为多行。该情况下弹性子项溢出的部分会被放置到新行,子项内部会发生断行 |
| wrap-reverse | -反转 wrap 排列。 |
align-content 属性
表示用于修改 flex-wrap 属性的行为。类似于 align-items, 但它不是设置弹性子元素的对齐,而是设置各个行的对齐。
align-content 语法
align-content: flex-start | flex-end | center | space-between | space-around | stretch
各个值解析:
| stretch | - 各行向弹性盒容器的起始位置堆叠。 |
| flex-end | - 各行向弹性盒容器的结束位置堆叠。 |
| center | -各行向弹性盒容器的中间位置堆叠。 |
| space-between | -各行在弹性盒容器中平均分布。 |
| space-around | - 各行在弹性盒容器中平均分布,两端保留子元素与子元素之间间距大小的一半。 |
order弹性子元素属性
表示:排序
语法
order:
各个值解析:
order:数字 表示用整数值来定义排列顺序,数值小的排在前面。可以为负值。
order 属性设置弹性容器内弹性子元素的属性:
align-self
属性用于设置弹性元素自身在侧轴(纵轴)方向上的对齐方式。
语法
align-self: auto | flex-start | flex-end | center | baseline | stretch
各个值解析:
| auto | 如果'align-self'的值为'auto',则其计算值为元素的父元素的'align-items'值,如果其没有父元素,则计算值为'stretch'。 |
| flex-start | 弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴起始边界。 |
| flex-end | 弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴结束边界。 |
| center | 弹性盒子元素在该行的侧轴(纵轴)上居中放置。(如果该行的尺寸小于弹性盒子元素的尺寸,则会向两个方向溢出相同的长度)。 |
| baseline | 如弹性盒子元素的行内轴与侧轴为同一条,则该值与'flex-start'等效。其它情况下,该值将参与基线对齐。 |
| stretch | 如果指定侧轴大小的属性值为'auto',则其值会使项目的边距盒的尺寸尽可能接近所在行的尺寸,但同时会遵照'min/max-width/height'属性的限制。 |
flex
属性用于指定弹性子元素如何分配空间。
例如:flex:1