css
css
引用
行内样式
在开始标签内添加style样式
配合js使用
1 |
|
嵌入样式
放在 head 标签里面的
其中 type 可以不写,但写了就不能写错
多用于当前页面,小案例
1 |
|
外部样式
放在一个css文件里面,需要讲引用它的 link 标签放在 head 标签里面
其中, href 就是css文件所在地址
rel=”stylesheet”——关系为样式表
多个页面,项目
1 |
|
导入式
放在 head 标签里面的 style 标签里面
1 |
|
选择器
标签选择器
以 HTML标签作为选择器
1 |
|
类选择器
在HTML标签里面添加class属性
注意前面需要增加一个点
1 |
|
id选择器
在HTML标签中添加id属性
id只能使用一次,即每一个标签只有一个id,为一一对应关系
1
2
3
4
5
6
7<diV id="only">
内容
</diV>
#only{
样式
}
全局选择器
设置全部标签样式
- 很少使用
1 |
|
子元素选择器
和后代类似,但是只能获得子元素,中间使用小于号隔开
1 |
|
后代选择器
类似于路劲,找到符合要求的标签,会匹配所有的后代标签,之间用空格隔开
1 |
|
分组选择器
可以将多种选择器结合到一起使用,用于统一设计样式
1 |
|
同时满足多个选择器的标签
1 |
|
伪类选择器
- 只有一个:
动态伪类
1 |
|
在 CSS 定义中,a:hover 必须被置于 a:link 和 a:visited 之后,才是有效的,a:active 必须被置于 a:hover 之后,才是有效的。(love and hate法则)
1 |
|
结构类伪类
first类和last类
1 |
|
nth类
1 |
|
not类
1 |
|
状态伪类
通常与form和input中的属性使用
1 |
|
伪元素选择器
- 有两个:
1 |
|
- 伪类和伪元素的根本区别在于:它们是否创造了新的元素(抽象)。伪类是在既有元素上添加类别(在逻辑上存在,但并不实际存在于文档树中),而伪类选择器则是添加新元素。
继承、层叠与优先级
继承
父元素设置的样式,子元素可以继承
若子元素自己有,就生成自己的,没有才需要继承父元素
层叠
在不冲突的时候多个样式可以层叠
冲突的时候按不同样式优先级来应用样式
按照就近原则,也就是写在最后的生效
优先级
公式:!important > 行内样式 > id选择器 > 类选择器 > 标签选择器 > 通配符选择器(全局) > 继承
一般优先级:id > 类 >标签
优先级规则:权值相同就近选择,权值不同区权值高的
权值:
标签选择器 – 1;
类和伪类选择器 – 10;
id选择器 – 100;
行内样式 – 1000;
可使用“!important”来调整优先级
Emmet语法
其实就是快捷键
- 快速生成HTML结构语法
- 生成标签直接输入标签名按tab键即可,比如 div 然后按 tab 键,就可以生成
- 如果想要生成多个相同标签,加上 * 就可以了,比如 div*4 就可以快速生成4个div了
- 如果有父子级关系的标签,可以用>,比如 ul>li 就可以生成了
- 如果有兄弟关系的标签,用+就可以了,比如 div+p
- 如果生成带有类名或者id名字的,直接写 .demo 或者 #two tab键就可以了
- 如果生成的div类名是有顺序的,可以用自增符号$
- 如果想要在生成的标签内部写内容可以用 {} 表示
- 快速生成css样式语法
- 基本采取简写形式即可
字体样式
字体属性
font-family
字体类型
- 设置多字体方式(使其能够适应更多的计算机和设备)
- 引号的问题(有的字体中间有空格,必须用引号引起来)
font-size:字体大小(默认大小16px),字体大小一般为偶数
属性取值 | 字体大小 |
---|---|
xx-small | 最小 |
x-small | 较小 |
small | 小 |
medium | 正常(默认值) |
large | 大 |
x-large | 较大 |
xx-large | 最大 |
font-weight
字体粗细(单词[normal正常、bold加粗]; 数字[100-500正常、600-900加粗])
font-style
字体样式(normal正常、italic斜体[italic所有带有倾斜字体的可以设置;oblique没有倾斜属性的字体也可以设置倾斜])
color
字体颜色
复合样式:font:weight style size family
、font:style weight size family
、font:weight style size/line-height family
1 |
|
文本样式
1 |
|
颜色表示
- 单词表示法
- 十六进制表示法
- RGB三原色表示法(范围0-255)
盒子模型
盒子模型基本属性
- conten——内容区域
- padding——内边距区域
- border——边框区域
- margin——外边距区域
margin(外边距)
1、垂直布局的块级元素,上下的margin会合并
:只需要给一个盒子设置margin即可
2、互相嵌套的块级元素,子元素的margin-top会作用在父元素上
- 给父元素设置border-top或者paddding-top
- 给父元素设置overflow:hidden
- 转换成行内块元素
- 设置浮动
- margin-top:上边距(auto–水平居中)
- margin-buttom:下边距
- margin-left:左边距
- margin-right:右边距
padding(内边距)
- padding-top:上部填充
- padding-bottom:下部填充
- padding-left:左部填充
- padding-right:右部填充
- padding:X (上下左右均为X)
- padding:X Y (上下为X,左右为Y)
- padding:X Y Z (上,左右,下)
- padding:X Y Z W (上,右,下,左)
border(边界)
border-top:上边界(也可以单独对一个边界使用width,style,color)
1
border-top-color:red
border-bottom:下边界
border-left:左边界
border-right:右边界
border-width:边界宽度
border-style:边界样式(常用 soild–实线边框;dashed–虚线边框;dotted–电线边框)
border-color:边界颜色
border-radius:角设置
border-collapse:collapse;表示相邻边框合并在一起
1 |
|
复合样式,为border-width,border-color,border-style组合使用
width&height(内容的长与高)
- max-height:最大高度
- min-weith:最小宽度
清除内外边距
1 |
|
盒子模型高度与宽度
总元素的宽度=宽度+左填充+右填充+左边框+右边框+左边距+右边距
总元素的高度=高度+顶部填充+底部填充+上边框+下边框+上边距+下边距
添加这句话,可以使前面的传统盒子模型变成css3的盒子模型
边框、边距不会撑大盒子
1 |
|
特殊样式
元素
元素之间可以转化,比如行级元素转化成块级元素, display:block,这样就可以了
行级元素、内联元素
- inline
feature:内容觉得元素所占位置
不可以通过css改变宽高
span、strong、em、a、del
块级元素
- block
feature:独占一行
可以通过css改变宽高
div、p、ul、ol、form、address
行级块元素
- inline-block
feature:内容觉得大小
可以改变宽高
img
背景 background
background:背景颜色 背景图片地址 背景平铺 背景图像滚动 背景图片位置;
在实际开发中,更加提倡这一种写法,减少了许多代码。
backgroun d-color:(颜色)+颜色名/rgb/十六进制/rgba;
background-image:url(图片位置)/none;
background-repeat:(背景图片的重复方式,平铺)+repeat/no-repeat/repeat-x/repeat-y;
background-attachment:(背景图片的显示方式)scroll/fixed;
scroll:默认值,图片随滚动条滚动
fixed:其他页面滚动时,图片不会滚动
background-position:(背景位置,长度,百分比)
列表
list-style-type:(设置标记样式)关键字/none;
关键字:
1 |
|
list-style-image:(设置图片标记)url/none;
list-style-position:(设置标记位置)inside/outside;
float属性(浮动)
特点
- 浮动元素会脱离标准流,在标准流中不占位置
- 浮动元素比标准流高半个级别,可以覆盖标准流中的元素
- 浮动找浮动,下一个浮动元素会在上一个浮动元素后面左右浮动
基础
float:left;靠左浮动
float:none;不用浮动
清除浮动
clear:none/left/right/both;
clear只会影响自身,不会影响相邻元素;
清除浮动的基础方法
- 在父元素内容的最后添加一个块级元素,给添加的块级元素(class=”clearfix”)设置clear:both
1 |
|
定位position
position:staric(静态定位)
作用:使元素定位于常规/自然流之中
特点:
忽略top、bottom、left、right或者z-index的声明
两个相邻远的元素都设置外边距则最终外边距=两个外边距最大的
具有固定的width和height值的元素,把左右外边距设置为auto,会使这个块水平居中
position:relative(相对定位)
作用:相对定位作用,是一个可定位的元素
特点:
可以使用top、bottom、left、right或者z-index进行相对定位
相对定位元素不会离开常规流
任何元素都可以设置为relative,他的绝对定位后代都可以对他进行绝对定位
可以使浮动元素发生偏移,并控制他们的堆叠顺序
position:absolute(绝对定位)
作用:绝对定位作用,使元素脱离常规流
特点:
设置百分比尺寸会定位父元素
left、right、top、bottom设置为0,他将对齐到最近定位父元素的个边
left、right、top、bottom设置为auto变回原形
position:fixed(固定定位)
作用:固定定位使其不会随窗口滚动而滚动,并继承absolute的特点
position:stick
作用:吸附定位作用,会与relavitive+fixed结合造成吸附效果
特点:
即使产生位移,原位置还是在常规流中
最近的父元素有滚动,则偏移至最近的父元素
父元素没有滚动则偏移标准使窗口
上下左右偏移标准
元素的显示与隐藏
display属性
display属性用于设置一个元素如何显示
- display:none; 隐藏对象(最常用的)
- display:block; 处理转换为块级元素之外,同时还有显示元素的意思
display隐藏元素后,不再占有原来的位置
visibility可见性
- visibility:visible; 元素可视
- visibility:visible; 元素隐藏
visibility隐藏元素后,继续占有原来的位置
overflow 溢出
overflow:visible; 不剪切内容也不添加滚动条
overflow:hidden; 不显示超过内容尺寸的内容,超出的部分直接隐藏掉
overflow:scroll; 不管超出内容否,总会显示滚动条
overflow:auto; 超出自动显示滚动条,不超出不显示滚动条
文本溢出
单行文本溢出:
强制一行内显示文本(会超出文本框)
white-space:nowrap
超出隐藏
overflow:hidden
超出的部分用省略号代替
text-overflow:ellipsis
多行文本溢出:
边框与圆角
圆角
border-radius 属性是一个简写属性,用于设置四个 border-*-radius 属性。
1 |
|
length:定义圆角的形状。
%:以百分比定义圆角的形状。
盒阴影
box-shadow 属性向框添加一个或多个阴影。不占用空间的
1 |
|
h-shadow:必需。水平阴影的位置。允许负值。
v-shadow:必需。垂直阴影的位置。允许负值。
blur:可选。模糊距离。
spread:可选。阴影的尺寸。
color:可选。阴影的颜色。
inset:可选。将外部阴影 (outset) 改为内部阴影
文字阴影
text-shadow属性将阴影应用于文本
1 |
|
h-shadow:必需。水平阴影的位置。允许负值。
v-shadow:必需。垂直阴影的位置。允许负值。
blur:可选。模糊距离。
color:可选。阴影的颜色。
边界图片
border-image属性使用图片作为对象的边界。
1 |
|
背景(精灵图)
背景图像区域
background-clip属性指定背景绘制区域。
1 |
|
背景图片定位
background-origin 属性规定 background-position 属性相对于什么位置来定位。
1 |
|
注意:如果背景图像的 background-attachment 属性为 “fixed”,则该属性没有效果。
背景图片大小
background-size 属性规定背景图像的尺寸。
1 |
|
css用户界面样式
鼠标样式 cursor
设置或检索在对象上移动的鼠标指针采用何种系统预定义的光标形状
style属性
- cursor:default; 默认
- cursor:pointer; 小手
- cursor:move; 移动
- cursor:text; 文本
- cursor:not-allowed; 禁止
轮廓线 outline
outline:none; 取消轮廓线
取消拖拽文本域 resize
resize:none;
vertical-align属性应用
设置图片或者表单和文字垂直对齐
vertical-align:middle
渐变
线性渐变
为了创建一个线性渐变,你必须至少定义两种颜色结点。颜色结点即你想要呈现平稳过渡的颜色。同时,你也可以设置一个起点和一个方向(或一个角度)。
1 |
|
color用rgba可调整透明度
上下
1 |
|
左右
1 |
|
对角
1 |
|
角度
角度是指水平线和渐变线之间的角度,逆时针方向计算。换句话说,0deg 将创建一个从下到上的渐变,90deg 将创建一个从左到右的渐变。
1 |
|
多颜色结点
彩虹色:
1 |
|
重复线性渐变
1 |
|
径向渐变
径向渐变由它的中心定义。
为了创建一个径向渐变,你也必须至少定义两种颜色结点。颜色结点即你想要呈现平稳过渡的颜色。同时,你也可以指定渐变的中心、形状(圆形或椭圆形)、大小。默认情况下,渐变的中心是 center(表示在中心点),渐变的形状是 ellipse(表示椭圆形),渐变的大小是 farthest-corner(表示到最远的角落)。
1 |
|
颜色节点均匀分布
1 |
|
颜色节点不均匀分
1 |
|
形状
shape 参数定义了形状。它可以是值 circle 或 ellipse。其中,circle 表示圆形,ellipse 表示椭圆形。默认值是 ellipse。
1 |
|
不同尺寸的关键字
size 参数定义了渐变的大小。它可以是以下四个值:
closest-side:最近边
farthest-side:最远边
closest-corner:最近角
farthest-corner:最远角
1 |
|
重复径向渐变
1 |
|
2D转换
顺序问题:移动放在最前
旋转
rotate()方法,在一个给定度数顺时针旋转的元素。负值是允许的,这样是元素逆时针旋转。
1 |
|
转换中心点
设置元素转换的中心点
- 方位:left bottom
- 元素的中心点(百分比,百分比)
1 |
|
移动
translate()方法,根据左(X轴)和顶部(Y轴)位置给定的参数,从当前元素位置移动。
百分比单位是相对于自身元素的百分比
1 |
|
缩放
scale()方法,该元素增加或减少的大小,取决于宽度(X轴)和高度(Y轴)的参数:
可以设置转换中心,默认以中心点缩放,不会影响其他盒子
1 |
|
扭曲
skew() 方法,包含两个参数值,分别表示X轴和Y轴倾斜的角度,如果第二个参数为空,则默认为0,参数为负表示向相反方向倾斜。
skewX();表示只在X轴(水平方向)倾斜。
skewY();表示只在Y轴(垂直方向)倾斜。
1 |
|
3D转换
旋转
1 |
|
- rotateX()方法,围绕其在一个给定度数X轴旋转的元素。
1 |
|
- rotateY()方法,围绕其在一个给定度数Y轴旋转的元素。
1 |
|
- rotateZ()方法,围绕其在一个给定度数Z轴旋转的元素。单位一般为px
1 |
|
平移
1 |
|
缩放
1 |
|
扩展属性
坐标系统
transform-Origin属性允许更改转换元素的位置。
注意:2D转换元素可以改变元素的X和Y轴。 3D转换元素,还可以更改元素的Z轴。使用此属性必须先使用transform 属性。
1 |
|
x-axis:定义视图被置于 X 轴的何处。可能的值:left、center、right、length、%
y-axis:定义视图被置于 Y 轴的何处。可能的值:top、center、bottom、length、%
z-axis:
定义视图被置于 Z 轴的何处。可能的值:length
CSS3矩阵
基本格式:
1 |
|
其中abcdef为
应用中为
其中:
ax+cy+e = 横坐标
bx+dy+f = 纵坐标
translate 矩阵
1 |
|
scale 矩阵
1 |
|
skew 矩阵
1 |
|
3D变换矩阵
矩阵有变化
1 |
|
transfrom-style
写给父盒子
transform–style属性指定嵌套元素是怎样在三维空间中呈现。
1 |
|
flat:表示所有子元素在2D平面呈现。
preserve-3d:表示所有子元素在3D空间中呈现。
perspective
perspective 属性允许设置3D元素的透视关系。
注意:perspective 属性只影响 3D 转换元素,与 perspective-origin 属性一同使用
1 |
|
number:元素距离视图的距离,以像素计。
none:默认值。与 0 相同。不设置透视。
perspective-origin
perspective-origin 属性定义 3D 元素所基于的 X 轴和 Y 轴标准。
注意:它是一个元素的子元素,透视图,而不是元素本身。常与perspective属性组合使用。
1 |
|
x-axis:定义该视图在 x 轴上的位置。默认值:50%。
可能的值: left 、 center 、right 、 length 、 %
y-axis:定义该视图在 y 轴上的位置。默认值:50%。
可能的值: top 、 center 、 bottom 、 length 、 %
backface-visibility
backface-visibility 属性定义当元素不面向屏幕时是否可见。
注意:如果在旋转元素不希望看到其背面时,该属性很有用处。
1 |
|
visible:背面是可见的。
hidden:背面是不可见的。
注意
使用过程中记得考虑兼容性
前缀 | 浏览器 |
---|---|
-webkit- | chrome、safari |
-moz- | firefox |
-ms- | IE |
-o- | opera |
图片模糊处理
1 |
|
计算盒子宽度calc
1 |
|
CSS3过渡
过渡动画:是从一个状态渐渐过渡到另外一个状态
通常和:hover
一起使用
1 |
|
- 属性:想要变化的css属性,宽度高度、背景颜色、内外边距都可以。所有属性写all
- 花费时间:单位是秒(必须要写单位)
- 运动曲线:默认是ease(可以省略)
- 何时开始:单位是秒(必须写单位),可以设置延迟触发事件,默认为0s,可以省略
1、transition-property
说明:检索或者设置对象中的参与过渡的属性transition-property:none/all/property;
none:无属性改变
all:全属性改变。默认值
property:元素属性名
2、transition-duration
说明:检索或者设置对象过渡的持续时间transition-duration:time;
time:规定完成过渡效果需要花费的时间
3、transition-timing-function
说明:检索或者设置对象中过渡的动画类型
1 |
|
4、transition-delay
说明:检索或者设置对象延迟过渡时间transition-delay:time;
time:切换效果开始前要等待的时间
动画
- 定义动画
- 调用动画
创建动画
@keyframes规则
1 |
|
animationname:必需的。定义animation的名称。
keyframes-selector:必需的。动画持续时间的百分比。合法值:**0-100%**。 其中from (和0%相同),to (和100%相同)
可以用一个动画keyframes-selectors。
- css-styles:必需的。一个或多个合法的CSS样式属性
1 |
|
CSS3动画
1 |
|
1、animation-name
说明:属性检索或者设置对象所应用的动画名称animation-name: keyframename/none;
keyframename:指定要绑定到选择器的关键帧的名称;
none:指定有没有动画(可用于覆盖从级联的动画);
2、animation-duration
说明:属性检索或者设置对象动画的持续时间animation-duration: time;
time:指定动画播放完成花费的时间
注意:如果只设置动画播放一次,该属性将不起作用。
3、animation-timing-function
说明:检索或者设置对象动画的过渡类型
1 |
|
4、animation-delay
说明:属性检索或者设置对象动画延迟时间animation-delay: time;
animation-delay 值单位可以是秒(s)或毫秒(ms)。
允许负值,-3s 是跳过前3s动画
5、animation-iteration-count
说明:属性检索或者设置对象的循环次数animation-iteration-count: value;
value:一个数字,定义应该播放多少次动画
infinite:指定动画应该播放无限次(永远)
6、animation-direction
说明:检索或者设置对象动画在循环中是否反向运动animation-direction: normal/reverse/alternate/alternate-reverse/initial/inherit;
normal:默认值。动画按正常播放。
reverse:动画反向播放。
alternate:动画在奇数次(1、3、5…)正向播放,在偶数次(2、4、6…)反向播放。
alternate-reverse:动画在奇数次(1、3、5…)反向播放,在偶数次(2、4、6…)正向播放。
initial:设置该属性为它的默认值。
inherit:从父元素继承该属性。
7、animation-fill-mode
说明:规定当动画不播放的时候,应用的元素样式animation-fill-mode: none/forwards/backwards/both/initial/inherit;
none:默认值。动画在动画执行之前和之后不会应用任何样式到目标元素。
forwards:在动画结束后(由 animation-iteration-count 决定),动画将应用该属性值。
backwards:动画将应用在 animation-delay定义期间启动动画的第一次迭代的关键帧中定义的属性值。这些都是 from 关键帧中的值(当 animation-direction 为 “normal” 或 “alternate” 时)或 to 关键帧中的值(当 animation-direction 为 “reverse” 或 “alternate-reverse” 时)。
both:动画遵循 forwards 和 backwards 的规则。也就是说,动画会在两个方向上扩展动画属性。
initial:设置该属性为它的默认值。
inherit:从父元素继承该属性。
8、animation-play-state
说明:属性指定动画是否正在运行或者已停止animation-play-state: paused/running;
paused:指定暂停动画
running:指定正在运行的动画
流式布局
很少用
1 |
|
flexbox布局
容器属性
主轴、侧轴 相当于x轴、y轴或行和列
flex-direction
flex-direction 属性指定了弹性子元素在父容器中的位置。
设置主轴的方向
1 |
|
justify-content
内容对齐(justify-content)属性应用在弹性容器上,把弹性项沿着弹性容器的主轴线(main axis)对齐。
设置主轴上的子元素排列方式
1 |
|
align-items
align-items 设置或检索弹性盒子元素在侧轴(纵轴)方向上的对齐方式。
设置侧轴上的子元素的排列方式(单行)
1 |
|
flex-wrap
flex-wrap 属性用于指定弹性盒子的子元素换行方式。
设置子元素是否换行
1 |
|
flex-flow
符合属性,相当于同时设置了flex-direction和flex-wrap
flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap。
1 |
|
align-content
align-content 属性用于修改 flex-wrap 属性的行为。类似于 align-items, 但它不是设置弹性子元素的对齐,而是设置各个行的对齐。
设置侧轴上的子元素的排列方式(多行)
1 |
|
stretch - 默认。各行将会伸展以占用剩余的空间。
flex-start - 各行向弹性盒容器的起始位置堆叠。
flex-end - 各行向弹性盒容器的结束位置堆叠。
center -各行向弹性盒容器的中间位置堆叠。
space-between -各行在弹性盒容器中平均分布。
space-around - 各行在弹性盒容器中平均分布,两端保留子元素与子元素之间间距大小的一半。
子元素属性
1. order : 1
用整数值来定义排列顺序,数值小的排在前面。可以为负值。
2. align-self
控制子项自己在侧轴上的排列方式
1 |
|
auto:如果’align-self’的值为’auto’,则其计算值为元素的父元素的’align-items’值,如果其没有父元素,则计算值为’stretch’。
flex-start:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴起始边界。
flex-end:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴结束边界。
center:弹性盒子元素在该行的侧轴(纵轴)上居中放置。(如果该行的尺寸小于弹性盒子元素的尺寸,则会向两个方向溢出相同的长度)。
baseline:如弹性盒子元素的行内轴与侧轴为同一条,则该值与’flex-start’等效。其它情况下,该值将参与基线对齐。
stretch:如果指定侧轴大小的属性值为’auto’,则其值会使项目的边距盒的尺寸尽可能接近所在行的尺寸,但同时会遵照’min/max-width/height’属性的限制。
3. flex:1
flex 属性用于指定弹性子元素如何分配空间。
flex属性定义子项目分配剩余空间,用flex来表示占多少份数
1 |
|
4. flex-grow
flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。
5. flex-shrink
flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。
6. flex-basis
flex-basis属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小
Adblocker
Grid布局
即网格布局
容器
和flex类似,需要给个容器
1 |
|
对于网格布局
如图
grid-template
行与列
设置行宽与宽高,单位可以用px、%、fr、em、还有repeat()
进行方便改写
列 :
grid-template-columns
行 :grid-template-rows
1 |
|
1 |
|
1 |
|
自动填充列数可以用auto-fill
关键字
1 |
|
定义长度范围minmax()
1 |
|
自动填充长度auto
1 |
|
网格线命名
grid-template-columns
属性和grid-template-rows
属性里面,还可以使用方括号,指定每一根网格线的名字,方便以后的引用。
1 |
|
grid-template
1 |
|
grid-gap
设置间隔
1 |
|
又或者grid-gap: <grid-row-gap> <grid-column-gap>;
1 |
|
grid-template-areas
设置区域
1 |
|
有区域不用时,用
.
表示
grid-auto-flow
设置顺序
1 |
|
items
分justify-items
、align-items
和place-items
设置单元格内容的位置
1 |
|
其中
start:对齐单元格的起始边缘。
end:对齐单元格的结束边缘。
center:单元格内部居中。
stretch:拉伸,占满单元格的整个宽度(默认值)。
place-items
即简写
1 |
|
content
分justify-content
、align-content
和place-content
设置内容的位置
1 |
|
start - 对齐容器的起始边框。
end - 对齐容器的结束边框。
center - 容器内部居中。
stretch - 项目大小没有指定时,拉伸占据整个网格容器。
space-around - 每个项目两侧的间隔相等。所以,项目之间的间隔比项目与容器边框的间隔大一倍。
space-between - 项目与项目的间隔相等,项目与容器边框之间没有间隔。
space-evenly - 项目与项目的间隔相等,项目与容器边框之间也是同样长度的间隔。
place-content
即简写
1 |
|
rem布局
rem单位
rem是一个相对单位,类似于em,em是相对于父元素字体大小
rem的基准是相对于html的字体大小
优点:可以通过修改html里面的字体大小来改变页面中元素的大小,可以整体控制
媒体查询
- 使用@media查询,可以针对不同的媒体类型定义不同的样式
- @media可以针对不同的屏幕尺寸设置不同的样式
- 当你重置浏览器大小的过程中,页面会根据浏览器的宽高重新渲染页面
- 目前针对很多苹果手机、安卓手机,平板等设备都用得到多媒体查询
1 |
|
@media 开头
mediatype 媒体类型
- all——所有设备
- print——打印机和打印预览
- scree——电脑屏幕、平板电脑、智能手机等
关键字
- and——多个媒体特性连接到一起
- not——排除某个媒体类型
- only——指定某个特定的媒体类型,可以省略
media feature 媒体特性,必须要小括号包含
- width——定义输出设备中页面可见区域的宽度
- min-width——定义输出设备中页面最小可见宽度
- max-width——定义输出设备中页面最大可见宽度
媒体查询引入资源
其实就是针对不同的屏幕尺寸,调用不同的css
link
less
css扩展语言,也称为css预处理器
在css的基础上,引入变量,Mixin,运算及函数等、
文件后缀为less
less基础
1、less变量
变量是指没有固定的值,可以改变的
1 |
|
变量名:不能包含特殊字符、不能以数字开头、大小写敏感
2、less编译
保存,就可以生成一个css
3、less嵌套
- 子元素的样式直接写到父元素的样式里面即可
1 |
|
如果遇到(交集|伪类|伪元素选择器)
- 内层选择器的前面没有**&**符号,则它被解析为父选择器的后代
- 如果有**&**符号,它就被解析为父元素自身或父元素的伪类
1 |
|
4、less运算
任何数字、颜色或者变量都可以进行运算
1 |
|
- 运算符的左右两侧必须空格隔开
- 两个数参与运算,如果只有一个数有单位,则结果以这个单位为准
- 如果两个数都有单位,则结果以第一个单位为准
rem适配方案
1、rem+媒体查询+less技术
2、flexible.js+rem
项目属性
定位
grid-column-start
属性
左边框所在的垂直网格线
grid-column-end
属性
右边框所在的垂直网格线
grid-row-start
属性
上边框所在的水平网格线
grid-row-end
属性
下边框所在的水平网格线
1 |
|
span代表跨域
1 |
|
会产生重叠
简写
1 |
|
1 |
|
grid-area
1 |
|
位置
justify-self
属性设置单元格内容的水平位置(左中右),跟justify-items
属性的用法完全一致,但只作用于单个项目。
align-self
属性设置单元格内容的垂直位置(上中下),跟align-items
属性的用法完全一致,也是只作用于单个项目。
1 |
|
place-self简写
1 |
|
CSS 滑动栏样式
::-webkit-scrollbar-corner 边角
::-webkit-resizer 定义右下角拖动块的样式
1、::-webkit-scrollbar
定义了滚动条整体的样式;如宽度啥的
::-webkit-scrollbar-button 滚动条两端的按钮
2、::-webkit-scrollbar-thumb
滑块部分;
::-webkit-scrollbar-track-piece 内层滚动槽=
3、::-webkit-scrollbar-track
轨道部分;
简易样式1
1 |
|
简易样式2
1 |
|