CSS3学习笔记(2)——颜色、文本阴影、盒模型

颜色设置

HTML5中提供了两种颜色设置:

1.RGBA:

R:红色值,0~255之间,rgb(255,0,0) 代表纯红色;

G:绿色值,0~255之间,rgb(0,255,0) 代表纯绿色;

B:蓝色值,0~255之间,rgb(255,0,0) 代表纯蓝色;

A:Alpha,透明度,0~1之间,不可为负数。

2. HSLA:

H:Hue,色调、色相。取值为0~360,过渡为“红橙黄绿青蓝紫红”,0和360代表红色,30代表橙色,60代表黄色,120代表绿色,180代表青色,240代表蓝色,300代表紫色。见下图:

S:Saturation,饱和度,取值为0.0%~100.0%;

L:Lightness,亮度,取值为0.0%~100.0%,50%是默认值和平衡值。

A:Alpha,透明度,取值0~1之间。

透明度

在之前我们用 opacity 来设置透明度,也是可行的。但是 opacity 只能针对整个盒子设置透明度。子盒子及内容会继承父盒子的透明度;

rgba来控制颜色和透明度,相对于 opacity,不具有继承性。

文本阴影

text-shadow

语法:text-shadow: offsetX offsetY blur color;

其中,offsetX 和 offsetY 分别表示坐标轴坐标;blur 为模糊值。

可以同时为一个文本设置多种阴影:text-shadow: offsetX1 offsetY1 blur1 color1, offsetX2 offsetY2 blur2 color2;

边框阴影

box-shadow

语法:box-shadow: h v blur spread color inset;

其中,

h 和 v 分别表示水平和垂直,用法与文本阴影的 offsetX 和 offsetY相同;

blur 表示模糊值,可选值,默认为0;

spread 表示阴影的尺寸,可以扩展或收缩阴影大小,可选值,默认为0;

color 表示颜色,可选值,默认为0;

inset 表示内阴影。一般配合设置两个阴影,以达到四个方向都有阴影,如:

box-shadow: -10px 10px 5px 0px rgba(0,0,150,0.2) inset,10px -10px 5px 0px rgba(0,0,150,0.2) inset;

盒模型

CSS的盒子结构如下图

我将这样的盒子结构理解为,一个盒子,外边距 margin 不算的话,它包含了 border、padding、内容三个部分。然而,我们在CSS中设置宽高 width 和 height 时,默认情况下盒子的宽高指的是内容的宽高。这就导致当我要给一个盒子添加 border 或 padding 的时候,页面结构就可能会错位。就比如,还是之前的“动漫信息面板”,当我想要实现在当前盒子拖动元素,盒子边框加粗这个效果时,往往不尽人意:

我们可以看到,网页布局发生了明显的错位,这是由于父盒子的宽度已经不够支撑四个子盒子的宽度总和了。这时候我们可能会将父盒子的宽度调大一点,但是这样子去调试往往不是我们想要看到的。

我们可以通过 box-sizing 设置盒模型来解决这个问题:

box-sizing: content-box:

即默认情况下的盒模型,设置盒子的 width 和 height 仅仅是内容的宽高。

box-sizing: border-box:

设置的width属性值就是盒子的最终的宽度,包含了border和padding和内容。如果添加了 padding 和 border,那么真正放置内容的区域会减小-,但是它可以稳固页面的结构。

边框圆角

border-radius 可以用来设置边框圆角。后面的像素值表示半径,拿右上角作为例子来解释:(如图)

添加圆角的各种情况:

border-radius: 10px;设置四个角的相同圆角值
border-radius: 10px 20px;第一个值设置左上↖和右下↘,第二个值设置右上↗和左下↙
border-radius: 10px 20px 30px;第一个值设置左上↖,第二个值设置右上↗和左下↙,第三个值设置右下↘
border-radius: 10px 20px 30px 40px;分别设置左上,右上,右下,左下
border-radius: 50px/100px;设置 水平x/垂直y 方向的半径值

border-top-left: 10px;

border-top-right: 10px;

border-bottom-left: 10px;

border-bottom-right: 10px;

指定位置添加圆角

border-top-left: 10px 20px;

border-top-right: 10px 20px;

border-bottom-left: 10px 20px;

border-bottom-right: 10px 20px;

指定位置设置 水平x/垂直y 方向的半径值
border-radius:100px 80px 60px 40px/20px 30px 40px 50px设置四个角点的 水平x/垂直y 方向上的不同圆角值,一一对应

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值