CSS-8.2-CSS盒模型相关属性
盒模型相关属性
1.overflow:内容溢出控制
2.outline:外围线
3.box-shadow:盒子阴影
4.border-radius:边框圆角
5.border-image:图片边框
一:overflow:内容溢出控制
- 规定了内容溢出盒子时如何处理
- 属性值
- visible:默认,内容不会修剪会呈现在元素框之外
- auto:根据内容多少选择显示滚动条,文字多的时候显示滚动条
- scroll:无论文字多少,都会显示垂直和水平两个滚动条
- hidden:超出区域的文字直接隐藏,无法看到
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>内容溢出控制</title>
<style type="text/css">
div{
width: 65px;
height: 65px;
}
/* 内容不会被修剪,会呈现在元素框之外 */
.div1{
background-color: #f00;
}
/* 根据内容多少选择显示滚动条
文字多的时候显示滚动条 */
.div2{
background-color: #0f0;
overflow: auto;
}
/* 无论文字多少,都会显示垂直和水平两个滚动条 */
.div3{
background-color: #00f;
overflow: scroll;
}
/* 超出区域的文字直接隐藏,无法看到 */
.div4{
background-color: #0ff;
overflow:hidden;
}
/* 超出区域的文字使用省略号代替 */
.div5{
height: 70px;
background-color: #ff0;
overflow: hidden;
text-overflow: ellipsis;
/* 将对象作为伸缩模型显示 */
display: -webkit-box;
/* 显示的行数 */
-webkit-line-clamp:4;
/* 设置或检索伸缩盒对象的子元素的排列顺序 */
-webkit-box-orient:vertical;
}
</style>
</head>
<body>
<div class="div1">
内容不会被修剪,会呈现在元素框之外
</div> <br> <br>
<div class="div2">
根据内容多少选择显示滚动条,文字多的时候显示滚动条
</div> <br> <br>
<div class="div3">
无论文字多少,都会显示垂直和水平两个滚动条
</div> <br> <br>
<div class="div4">
超出区域的文字直接隐藏,无法看到
</div> <br> <br>
<div class="div5">
超出区域的文字使用省略号代替代替代替代替
</div>
</body>
</html>
效果图
注意
可以使用 overflow-x 和 overflow-y 设置水平和垂直方向的滚动条是否显示
二:outline:外围线
- 显示在边框边缘外围的一条线,起到突出元素的作用
- 外围线的属性写法与边框相同
- 外围线不会占用空间
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>外围线</title>
<style type="text/css">
div{
width: 100px;
height: 100px;
background-color: #0ff;
}
/* 添加边框会占用空间 */
.div1{
border: 10px solid #ff0;
}
/* 添加外围线不会占用空间 */
.div2{
outline: 10px dotted #0f0;
}
</style>
</head>
<body>
<div class="div1"></div>
<span>
div添加border,边框会占用空间,不会盖住周围的文字
</span>
<div class="div2"></div>
<span>
div添加outline,外围线不会占用空间,会盖住周围的文字
</span>
</body>
</html>
效果图
三:box-shadow:盒子阴影
- 给元素周围添加阴影效果
- 属性值
- X轴阴影距离
- 必写,可正可负
- 正值右移,负值左移
- Y轴阴影距离
- 必写,可正可负
- 正值下移,负值上移
- 阴影模糊半径
- 可写,只能为正,默认值为0
- 数值越大,阴影越模糊
- 阴影扩展半径
- 可写,可正可负,默认值为0
- 数值越大,阴影扩大
- 数值越小,阴影缩小
- 阴影颜色
- 可写,默认黑色
- 内外阴影
- 可写,默认外外阴影
- inset:内阴影
- X轴阴影距离
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>盒子阴影</title>
<style type="text/css">
div{
width: 100px;
height: 100px;
background-color: #0ff;
box-shadow: 5px 5px 10px 10px red;
}
</style>
</head>
<body>
<div></div>
</body>
</html>
效果图
四:border-radius:边框圆角
- border-radius是一个简写属性
- 可以设置一个元素四个边框的圆角,也可以单独为其中一个角设置圆角样式
border-radio的属性两种写法
1.使用带单位的数值
2.使用百分比设置
单独设置一个角样式
1.border-top-left-radio:设置左上角圆角样式
2.border-top-right-radio:设置右上角圆角样式
3.border-bottom-right-radio:设置右下角圆角样式
4.border-bottom-left-radio:设置左下角圆角样式
设置一个元素四个边框的圆角
1.border-radius: 40px 30px 20px 10px/50px 40px 30px 20px;
2."/前后各有四个值",依次对应的是左上角、右上角、右下角、左上角
3."/“前表示四顶点沿X轴移动的距离,”/"后表示四顶点沿Y轴移动的距离
4.移动完成后,用弧线连接
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>爱心</title>
<style type="text/css">
div{
width: 100px;
height: 150px;
background-color: #f00;
/* 边框圆角
仅设置X轴左上角右上角60px,右下角左下角0
Y轴与X轴相同
*/
border-radius: 60px 60px 0 0 ;
line-height: 100px;
text-align: center;
}
/* CSS3transform变换属性
简写属性,分开来写会失效
*/
.div1{
transform:translate(60px, 50px) rotate(-45deg);
}
.div2{
transform:translate(96px,-100px) rotate(45deg);
}
</style>
</head>
<body>
<div class="div1">1</div>
<div class="div2">2</div>
</body>
</html>
效果图
五:border-image:图片边框
- 当前盒子设置一个图片边框
- 使用图片进行裁切作为边框显示
- 代替boder-style边框样式
border-image:图片边框
1.border-image-source:图片路径
2.border-image-slice:图片切片宽度
3.border-image-width:边框宽度
4.border-image-repeat:图片重复方式
5.border-image:简写方式
1、border-image-source:图片路径
- 用于当作边框的图片地址
- 使用url()引入图片路径
/* 图片路径 */
border-image-source:url(./background.jpg)
2、border-image-slice:图片切片宽度
- 由4个值,代表上、右、下、左4条切线,通过4条切线切割,可以将图片分为9宫格
- 9宫格4个角分别对应边框的4个角(不会进行任何拉伸)
- 9宫格4条边分辨对应4条边框(会根据设置进行拉伸,铺满,重复等操作)
/* 图片切片 */
border-image-slice:27px 27px 27px 27px;
/* 表示4条切线都是27px */
border-image-slice:27px;
3、border-image-width:边框宽度
- 边框宽度表示图片边框的宽度大小,使用规则与border类似
/* 边框宽度 */
border-image-width:10px 10px 10px 10px;
/* 表示4条边框的宽度都是10px */
border-image-width:10px;
4、border-image-repeat:图片重复方式
- 设置边框区域图片的重复方式
- 属性值
- stretch:拉伸
- round:铺满
- repeat:重复
铺满和重复的区别
1.重复会保持原有4条边的宽度,可能导致角落处无法显示完整一个图标
2.铺满会对4条边进行适当地拉伸、压缩,确保可以正好显示完全
5、border-image:简写方式
/* 图片边框简写 */
border-image:url(./background.ing) 27/10px stretch;
/* webkit浏览器内核专用 */
-webkit-border-image:url(./background.ing) 27/10px repeat;
注意
1.缩写时的顺序必须按照图片路径、切片宽度、边框宽度、重复方式
2.切片宽度和边框宽度用“/”分隔,且只能在边框宽度后带一个px单位