持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第7天,点击查看活动详情
本章内容
1.垂直对齐方式
2.滤镜
3.圆角边框
4.overflow
5.元素本身隐藏
6.字间距
7.单词间距
8.元素整体透明度
9.细线边框
10.css画三角
11.链接伪类选择器
12.属性选择器
13.精灵图
14.背景图大小
15.盒子阴影
16.文字阴影
17过渡
垂直对齐方式
场景:解决行内/行内块元素垂直对齐问题 vertical-align属性只对行内或行内块元素有效.
/* 默认值 基线对齐 */
vertical-align: baseline;
/* 底部对齐 */
vertical-align: bottom;
/*中线对齐 */
vertical-align: middle;
/* 顶部对齐 */
vertical-align: top;
滤镜
blur()里面跟数值,数值越大越模糊,网页的模糊程度
filter: blur(5px);
国家发生重大事故 网站变灰
filter: grayscale(100%);
圆角边框
border-radius
左上角开始赋值 顺时针
左上角 右上角 右下角 左下角
.box {
width: 300px;
height: 300px;
background-color: #ffa500;
/* 圆形 边框圆角为宽高的一半 */
/* border-radius: 150px; */
border-radius: 50%
}
.box1 {
width: 200px;
height: 60px;
background-color: purple;
/* 胶囊按钮 盒子高度的一半*/
border-radius: 30px;
text-align: center;
line-height: 60px;
font-size: 20px;
color: #fff;
}
.box2 {
width: 200px;
height: 200px;
background-color: pink;
border-radius: 0 50%;
}
overflow
.box {
width: 200px;
height: 300px;
background-color: pink;
/* 默认值 溢出部分可见 */
/* overflow: visible; */
/* 溢出部分隐藏 */
/* overflow: hidden; */
/* 无论是否溢出都会显示滚动条 */
/* overflow: scroll; */
/* 根据是否溢出 自动显示滚动条 */
overflow: auto;
/* 注意定位的盒子慎用overflow: hidden; */
}
扩展:
单行文本溢出显示省略号:
/* 1 文字装不下 让文字强制在一行显示 */
white-space: nowrap;
/* 2 超出部分溢出隐藏 */
overflow: hidden;
/* 3 隐藏的部分显示省略号 */
/* ellipsis 省略号意思 */
text-overflow: ellipsis;
多行文本溢出显示省略号:
overflow: hidden; text-overflow: ellipsis; /* 弹性伸缩盒子模型显示 / display: -webkit-box; / 限制在一个块元素显示的文本的行数 / -webkit-line-clamp: 2; / 设置或检索伸缩盒对象的子元素的排列方式 */ -webkit-box-orient: vertical;
注意:
更推荐让后台人员来做这个效果,因为后台人员可以设置显示多少个字,操作更简单。
多行文本溢出显示省略号,有较大兼容性问题, 适合于webKit浏览器或移动端
元素本身隐藏
/* 元素本身隐藏 占位置 */
visibility: hidden;
/*元素本身隐藏 不占位置 */
display: none;
重要
元素隐藏
display: none;
元素显示
display: block;
字间距
letter-spacing: 5px;
英文 字母之间的间距
中文 字之间的间距
单词间距
word-spacing: 10px;
英文单词之间的间距 中文无效
元素整体透明度
opacity:0.5;
属性值:0~1之间的数字
1:表示完全不透明
0:表示完全透明
opacity会让元素整体透明,包括里面的内容,如:文字、子元素等……
细线边框
border-collapse: collapse;
css画三角形
1 画一个盒子
2 设置不同边框的颜色
3 宽高设置为0 仅保留边框
4 选择其中一个三角形设置颜色 ,其余的三角形设置为透明色
.box{
/*width: 400px;
height: 400px; */
width: 0;
height: 0;
background-color: transparent;
border-top: 50px solid pink;
border-bottom: 50px solid transparent;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
}
链接伪类选择器
/* 未访问时候的状态 */
a:link {
color: pink;
}
/* 鼠标点击后的状态 */
a:visited {
color: purple;
}
/* 鼠标悬停时的状态 */
a:hover {
color: green
}
/* 鼠标按下未弹起时的状态 */
a:active {
color: orange;
}
链接伪类选择器权重是10
书写顺序LHHA
焦点伪类选择器
只对表单元素有效
input:focus {
background-color: orange;
}
属性选择器
通常借助html属性来选择元素,通常用于input标签
选择具有att属性的E元素。
E[att]{}
选择具有att属性且属性值等于val的E元素。
E[att="val"]{}
input[type=text] {
background-color: red;
}
input[type=password] {
background-color: green;
}
精灵图
精灵图:
项目中将多张小图片,合并成一张大图片,这张大图片称之为精灵图
优点:
减少服务器发送次数,减轻服务器的压力,提高页面加载速度
使用步骤:
1.创建一个盒子, 设置盒子的尺寸和小图尺寸相同
2.将精灵图设置为盒子的背景图片
3.修改背景图位置
通过PxCook测量小图片左上角坐标,分别取负值设置给盒子的background-position:x y
.s1 {
display: block;
width: 20px;
height: 20px;
/* background-color: pink; */
background-image: url(./images/sprites.png);
/* 水平位置 垂直位置 */
/* 精灵图位置往左 往上都是负值 */
background-position: -139px -7px;
}
背景图大小
background-size:cover|contain|百分比|数字
.box {
width: 1000px;
height: 300px;
background-color: pink;
background-image: url(./images/jd.jpg);
background-repeat: no-repeat;
/* 关键字 */
/* contain 背景图片等比例缩放 显示宽度 有可能铺不满整个盒子 */
/* background-size: contain; */
/* cover 背景图片等比例缩放 背景图片铺满整个盒子 但是图片有显示不全*/
background-size: cover;
/* 数值 百分比 */
/* 2个数值 第一个表示宽度 第二个表示高度 */
/* background-size:400px 200px; */
/* 1个数值 第一个表示宽度 第二个数值默认值 auto */
/* background-size: 400px auto; */
/* 百分比 参考的是当前盒子自身宽度的百分比 */
/* background-size: 50% 50%;
background-size: 100% 100%; */
}
连写扩展:
background: purple url(./images/dog.gif) 0 0/100px 100px no-repeat;
文字阴影
text-shadow: 水平阴影 垂直阴影 模糊距离 阴影颜色;
text-shadow: -8px 0px 9px red;
盒子阴影
box-shadow:水平阴影 垂直阴影 模糊距离 阴影面积 阴影颜色 内/外阴影 ;
box-shadow: 2px -10px 6px 5px rgba(0, 0, 0, .5) ;
默认是外阴影 但是outset不要书写 否则报错
过渡
transition:过渡属性 过渡时间;
过渡 就是让元素慢慢的发生变化,过渡通常搭配hover一起使用
transition属性给需要过渡的元素本身加
谁做过渡到给谁加
.box {
width: 400px;
height: 200px;
background-color: red;
/* transition: 过渡属性 过渡时间 */
/* 让多个属性发生过渡 中间用逗号隔开 */
/* transition: width 2s, height 2s; */
/* all 所有的属性都发生过渡 */
transition: all 3s;
}
/* 过渡 就是让元素慢慢的发生变化 */
.box:hover {
/* 鼠标移入有效果 移除没有效果 */
/* transition: all 3s; */
width: 600px;
height: 300px;
}
最后是原图(●'◡'●)