在CSS中新增了三个样式,分别是圆角边框,盒子阴影,文字阴影。
初识圆角边框:
border-radius属性用于设置元素的外边框圆角
语法如下:
border-radius:length;
原理如下:
[椭]圆与边框的交集形成圆角效果。
举例:
当length为10px时:
div{
width: 100px;
height: 100px;
background-color:chocolate;
border-radius: 10px;
}
显示效果如下:
当length为40px时:
div{
width: 100px;
height: 100px;
background-color:chocolate;
border-radius: 40px;
}
由此可见,length越大,越接近圆形,length既可以是数值也可以是百分比的形式
。
将正方形/矩形转变为圆形:
方法:如果是正方形,直接将length设置为高度或者宽度的一般即可,或者直接写50%,如果是矩形,设置为高度的一半即可
这里我们以将正方形转变为圆形进行举例。
举例:
<!DOCTYPE html>
<html lang="en">
<head>
<style>
.div1{
width: 100px;
height: 100px;
background-color:chocolate;
}
.div2{
width: 100px;
height: 100px;
background-color:cornflowerblue;
border-radius: 50px;
}
</style>
</head>
<body>
<div class="div1"></div>
<div class="div2"></div>
</body>
</html>
显示效果如下:
length的不同设置方法:
此外length可以使用一个、两个,四个具体的数值进行替换,一个值---------代表设置上下左右四个角均为相同的圆角度,两个值-----------代表设置对角线的角采用相同的值,四个值--------------代表分别设置上下左右四个角都有各自不同的值[顺时针的顺序—左上角、右上角、右下角、左下角]。
举例:
<!DOCTYPE html>
<html lang="en">
<head>
<style>
.div1{
width: 200px;
height: 200px;
background-color: darkmagenta;
}
.div2{
width: 200px;
height: 200px;
background-color:cadetblue;
border-radius: 30px;
}
.div3{
width: 200px;
height: 200px;
background-color:cyan;
border-radius: 20px 60px;
}
.div4{
width: 200px;
height: 200px;
background-color:darkslateblue;
border-radius: 20px 40px 60px 80px;
}
</style>
</head>
<body>
<div class="div1">矩形</div>
<div class="div2">为四个角分别设置相同的length</div>
<div class="div3">为主/副对角线的角设置不同的length</div>
<div class="div4">为四个角分别设置不同的length</div>
</body>
</html>
显示如下:
设置单独的圆角边框:
语法如下:
border-top-left-radius: ;//设置左上角的圆角边框
border-top-right-radius: ;//设置右上角的圆角边框
border-bottom-left-radius: ;//设置左下角的圆角边框
border-bottom-right-radius: ;//设置右下角的圆角边框
但由于这种写法比较冗余,所以一般情况下并不推荐使用。
盒子阴影:
在CSS3中,我们可以使用box-shadow属性将阴影应用于盒子。
语法:
box-shadow:h-shadow v-shadow blur spread color inset;
举例:
<!DOCTYPE html>
<html lang="en">
<head>
<style>
div{
width: 200px;
height: 200px;
background-color: coral;
box-shadow: 4px 4px 4px 5px burlywood;
}
</style>
</head>
<body>
<div></div>
</body>
</html>
显示如下:
h-shadow:值越大,阴影在水平轴上距离盒子越远,如果是正值,阴影位于盒子右边,如果是负值,阴影位于盒子左边。
举例:设置h-shadow为10px
显示效果如下:
举例:设置h-shadow为-10px
显示效果如下:
v-shadow:值越大,阴影在垂直轴上距离盒子越远,如果是正值,阴影位于盒子下边,如果是负值,阴影位于盒子上边
举例:设置v-shadow为20px
显示效果如下:
举例:设置v-shadow为-20px
显示效果如下:
blur:值越大,阴影部分越模糊。
设置blur的值为10px.
显示如下:
设置blur的值为1px,显示如下:
spread:值越大,阴影的尺寸越大。
将spread的值设置为20px,显示如下:
将spread的值设置为1px,显示如下:
color:用来设置阴影的颜色,虽然颜色是自定义的,但是,我们一般都用较模糊的黑色来作为阴影的颜色。
举例:
将颜色设置为rgb(0,0, 0, .3),显示如下:
inset:将阴影设置为内部阴影,只需要在box-shadow的属性值后面添加inset即可实现。
显示效果如下:
注:默认的是外部阴影(outset),但是不可以写这个单词,否则会导致阴影无法正确显示。
虽然盒子模型在网页上显示一定的效果,但是它并不占用空间,带有阴影效果的盒子的相邻盒子之间并不会相隔阴影尺寸的大小,而是紧挨着它
举例:
<!DOCTYPE html>
<html lang="en">
<head>
<style>
div{
width: 200px;
height: 200px;
background-color: coral;
box-shadow: 4px 4px 4px 5px burlywood;
float:left
}
</style>
</head>
<body>
<div></div>
<div></div>
</body>
</html>
显示如下:
文字阴影:
在CSS3中,我们可以使用text-shadow属性将阴影应用于文本。
语法:
text-shadow:h-shadow v-shadow blur color;
与盒子阴影基本相同,只是在参数个数上比盒子阴影少了两个。
举例:
<!DOCTYPE html>
<html lang="en">
<head>
<style>
h1 {
font-size: 40px;
font-family: 'Courier New', Courier, monospace;
color: hotpink;
text-shadow: 4px 4px 4px rgba(0, 0, 0, .3);
}
</style>
</head>
<body>
<h1>我是美女</h1>
</body>
</html>
显示如下: