第三讲 CSS3重要样式及属性

本文深入探讨CSS3的重要样式,包括颜色、文本阴影、@font-face、边框样式(如圆角、阴影)以及渐变和过渡效果。通过实例详细解释了如何实现线性渐变、径向渐变、过渡属性、延迟时间和多重背景图片。同时,介绍了渐进增强和优雅降级的概念以及重绘和回流的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、文字相关样式

1、颜色(color)

透明度:

RGBA: color: rgba(255, 0, 0, 0.6);

注意: RGBA是在RGB的基础上多了控制alpha透明度的参数

2、文本阴影

语法text-shadow: h-shadow  v-shadow    blur    color;

h-shadow:必需。水平阴影的位置。允许负值

v-shadow:必需。垂直阴影的位置。允许负值

blur :可选。模糊的距离。

color:可选。阴影的颜色

例如代码:

3、CSS3 @font-face 规则

使用您需要的字体

  • 在新的 @font-face 规则中,您必须首先定义字体的名称(比如 myFirstFont),然后指向该字体文件。
  • 如需为 HTML 元素使用字体,请通过 font-family 属性来引用字体的名称 (myFirstFont):

<style> 
@font-face{
font-family: myFirstFont;
src: url('Sansation_Light.ttf'),
     url('Sansation_Light.eot'); /* IE9+ */
}
div{
font-family:myFirstFont;
}
</style>

4、 CSS3 边框样式

1、圆角边框 (Border)

圆角边框: border-radius: 20px 20px 20px 20px;

语法:border-radius:   length/% ;

border-radius:   一个值; 四个角都一样

border-radius:   值1 值2;  值1表示左上角、右下角;值2表示右上角、左下角

border-radius:    值1  值2  值3; 值1表示左上角;值2表示右上角、左下角;值3表示右下角 border-radius:   值1   值2   值3   值4;左上角、右上角、右下角、左下角

注意:顺时针走向

2、阴影

语法 :

box-shadow:  X轴偏移量  Y轴偏移量   [阴影模糊半径]    [阴影扩展半径]   [阴影颜色]  [投影方式];

参数:

x轴偏移量必需。水平阴影的位置,允许负值
y轴偏移量必需。水平阴影的位置,允许负值
阴影模糊半径模糊距离(可写可不写)
阴影扩展半径阴影的尺寸(可写可不写)
阴影颜色阴影的颜色 省略默认为黑色(可写可不写)
投影方式设置(inset时为内部阴影方式,若是省略为外部阴影方式)(可写可不写)

3、CSS3 多重背景图片  

  CSS3 允许您为元素使用多个背景图像。 为 body 元素设置两幅背景图片:

语法:body{ background-image:url(bg_flower.gif),url(bg_flower_2.gif); }

注意:多个背景之间用逗号隔开

5、渐变

1、线性渐变

语法:background-image : linear-gradient(方向 , 颜色1    颜色1位置 , ....)

方向:

渐变角度:单位deg 例如:45deg     to  英文单词  to right  从左向右渐变

颜色位置:

  • 数值+单位
  • 可以是 百分比

例如:

background-image: linear-gradient(45deg, red,pink);
 background: linear-gradient(red 0%,pink 50%); /*image也可以省略不写*/
 background-image: linear-gradient( to right, red 0px,pink 50px); /* 从左到右 */

2、重复线性渐变

background-image : repeating-linear-gradient()

background-image: repeating-linear-gradient(to bottom right, red,pink); /* 从左上到右下 */

3、径向渐变

语法:background-image : radial-gradient(形状  半径   圆心位置,颜色1    颜色1位置 , ...) 

例如:background: radial-gradient(circle closest-corner at 40px 60px, #f00 0%,#00f 50%);
值:

  • shap 形状

ellipse  默认 椭圆形
circle  圆形

  •  size 渐变大小

farthest-corner  默认 指定径向渐变的半径长度是从圆心到离圆心最远的角
farthest-side  指定径向渐变的半径长度是从圆心到最离圆心远的边
closest-corner  指定径向渐变的半径长度是从圆心到离圆心最近的角
closest-side  指定径向渐变的半径长度是从圆心到离圆心最近的边

  • position 圆心位置

at  x位置  y位置
x,y取值:数值+单位、百分比、英文单词left right center top bottom

  • 重复径向渐变

语法:background-image : repeating-radial-gradient()

background: repeating-radial-gradient(circle closest-corner at top center, #f00 0%,#00f 50%);

6、过渡

1、过渡属性

语法:transition-property:;

transition-property: width, height; 
transition-property: all;

注意:多个属性名之间有逗号隔开 或 all

2.过渡持续时间

语法:transition-duration: ;

transition-duration:0.5s ;
transition-duration: 500ms;
/* 1秒=1000毫秒 */

单位:秒s 或 毫秒ms

3、过渡速度

语法:transition-timing-function: ;

  • ease:(逐渐变慢)默认值,ease函数等同于贝塞尔曲线(0.25, 0.1, 0.25, 1.0).
  • linear:(匀速),linear 函数等同于贝塞尔曲线(0.0, 0.0, 1.0, 1.0).
  • ease-in:(加速),ease-in 函数等同于贝塞尔曲线(0.42, 0, 1.0, 1.0).
  • ease-out:(减速),ease-out 函数等同于贝塞尔曲线(0, 0, 0.58, 1.0).
  • ease-in-out:(加速然后减速),ease-in-out 函数等同于贝塞尔曲线(0.42, 0, 0.58, 1.0)
  • cubic-bezier(x1,y1,x2,y2):(该值允许你去自定义一个时间曲线), 特定的cubic-bezier曲线。 (x1, y1, x2, y2)        四个值特定于曲线上点P1和点P2。

注意:所有值需在[0, 1]区域内,否则无效。

 

 

 

4、过渡延迟时间

语法:transition-delay

单位:秒s 或 毫秒ms

transition-delay: 1s;

5、缩写:

语法:transition :  transiton-propery值   transition-duration值   transition-timing-function值     transition-delay值;

二、简答题

1、渐进增强和优雅降级的区别 

渐进增强:最初针对低版本浏览器进行构建页面,完成基本的功能,然后再针对高级浏览器进行效果、交互、追加功能以达到更好的体验。

优雅降级:一开始就构建站点的完整功能,然后针对浏览器测试和修复。比如一开始使用 CSS3 的特性构建了一个应用,然后逐步针对各大浏览器进行 hack 使其可以在低版本浏览器上正常浏览。

区别:优雅降级认为应该针对那些最高级、最完善的浏览器来设计网站。而将那些有功能缺失的浏览器下的测试工作安排在开发周期的最后阶段,并把测试对象限定为主流浏览器的前一个版本。在这种设计下,旧版的浏览器被认为仅能提供最简单的的浏览体验。(优先关注最高级的,再考虑兼容)

渐进增强认为应关注于内容本身。会优先考虑老版本浏览器的可用性,最后才考虑新版本的可用性,这使得渐进增强成为一种更为合理的设计范例。(先考虑兼容)

低版本用户居多,优先采用渐进增强的开发流程;如果高版本用户居多,为了提高大多数用户的使用体验,优先采用优雅降级的开发流程。不过大多数情况下都是采用渐进增强的方式,因为它更加合理。

 2、重绘和回流的区别

 重绘:元素的结构(宽高、布局、显示隐藏、内部文字大小)未发生改变,只是元素的外观样式发生改变,比如背景颜色、内部文字颜色、边框颜色等。此时会引起浏览器重绘,显然重绘的速度快于回流。

回流:当render tree中的元素的宽高、布局、显示、隐藏或元素内部文字结结构发生改变时,会影响自身及其父元素、甚至追溯到更多的祖先元素发生改变,则会导致元素内部、周围甚至整个页面的重新渲染,页面发生重构,回流就产生了。

注意:回流一定会触发重绘,而重绘不一定会回流
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值