浅聊一下
书接上文,我们聊过了如何做水平垂直居中、视差滚动效果实现和显示一个小于10px的文字的方式,本篇将继续总结面试遇到的其他css问题...
css面试系列
面了这么多天,该做总结了-CSS篇(一) - 掘金 (juejin.cn)
面试了这么多天,觉得一个人的力量还是太过薄弱,如果你和我一样有向前冲的勇气,欢迎掘友们私聊我交流面经(wechat: LongLBond)
说说flex Box
阅读完前三篇内容,我想吗应该明白这个问题该从哪儿答起...
- 是什么?
是一种布局方式,可以简便完整响应式的实现页面布局,容器中默认存在两条轴,主轴,交叉轴,默认x轴为主轴,可以用flex-direction来改变主轴方向
- 特征
先设置一个列表,让ul为弹性容器,display:flex
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
ul{
display: flex;
}
li{
font-size: 20px;
color: #FFFFFF;
list-style: none;
width: 200px;
height: 100px;
}
li:nth-child(1) {
background-color: rgb(61, 61, 168);;
}
li:nth-child(2) {
background-color: rgb(232, 59, 108);;
}
li:nth-child(3) {
background-color: rgb(104, 230, 123);;
}
</style>
</head>
<body>
<ul class="box">
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</body>
</html>
效果如图
- 可以控制子元素在主轴上的对齐方式
通过设置 justify-content
属性可以控制子元素在主轴上的对齐方式
flex-start
:子元素向主轴起始位置对齐。flex-end
:子元素向主轴末尾位置对齐。center
:子元素在主轴上居中对齐。space-between
:子元素均匀分布在主轴上,首个元素位于起始位置,末尾元素位于末尾位置。space-around
:子元素均匀分布在主轴上,两侧留有相同的空白间隔。
效果依次为
- 可以控制子元素在交叉轴上的对齐方式(注意此时要给父容器一个高度,在这里我加上了一个背景色)
flex-start
:子元素向交叉轴起始位置对齐。flex-end
:子元素向交叉轴末尾位置对齐。center
:子元素在交叉轴上居中对齐。baseline
:子元素按照它们的基线对齐。stretch
:子元素被拉伸以填充整个交叉轴。
效果依次为
-可以控制子元素缩放比例 排列方式
flex-grow
:指定子元素在剩余空间分配时的放大比例,默认为 0,表示不放大。flex-shrink
:指定子元素在空间不足时的缩小比例,默认为 1。flex-basis
:指定子元素在主轴上的初始大小。
当给一个li设置flex-grow为1时,除了其他的li占据的宽度都是他的
当给一个li设置flex-shrink为2时,在页面宽度不够导致缩小时,li的缩小倍数是其他li的两倍
当给一个li设置flex-basis为50%时,这个li初始值占据50%
- 应用场景
- 多栏布局
- 居中
css画一个三角形
要用css画一个三角形,主要是通过他的边框属性来完成
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.triangle {
width: 0;
height: 0;
border-width: 200px;
/* 控制三角形大小 */
border-style: solid;
border-color: blue black red aqua;
/* 控制三角形颜色 */
}
</style>
</head>
<body>
<div class="triangle"></div>
</body>
</html>
此时页面效果如下
我们只需要改变边框的颜色就可以制造出不同朝向的三角形
.triangle {
width: 0;
height: 0;
border-width: 200px;
/* 控制三角形大小 */
border-style: solid;
border-color:white white red white;
/* 控制三角形颜色 */
}
css3新增了哪些属性
- 选择器:属性选择器、伪类选择器
- box-shadow
- background-clip 裁剪
- transition 过渡动画
- transform
- animation 纯动画
- 渐变色 linear-gradient
css3中常见的动画有哪些?怎么实现?
- transition 当其他属性值发生变更时,控制该值变更所花费的时间和变更曲线
- transform 用于做容器的旋转、缩放、倾斜、平移等动画
- animation 控制容器动画的关键帧
来一个实现例子
结尾
更多精彩,请看下集...