CSS3私有前缀+新增盒模型相关属性(如果想知道CSS3私有前缀、新增盒模型相关属性的知识点,那么只看这一篇就足够了!)

简介: CSS3私有前缀+新增盒模型相关属性(如果想知道CSS3私有前缀、新增盒模型相关属性的知识点,那么只看这一篇就足够了!)

1.CSS3 概述

       学习完CSS2之后,我们就需要学习CSS3,在前言中我们知道了,CSS3 是CSS2 的升级版本,它在CSS2 的基础上,新增了很多强大的新功能,那么其新增的特性有哪些呢?

CSS3 的新特性如下:

1. 新增了更加实用的选择器,例如:动态伪类选择器、目标伪类选择器、伪元素选择器等等。
2. 新增了更好的视觉效果,例如:圆角、阴影、渐变等。
3. 新增了丰富的背景效果,例如:支持多个背景图片,同时新增了若干个背景相关的属性。
4. 新增了全新的布局方案 —— 弹性盒子。
5. 新增了Web 字体,可以显示用户电脑上没有安装的字体。
6. 增强了颜色,例如: HSL 、HSLA 、RGBA 几种新的颜色模式,新增 opacity 属性来控制透明度。
7. 增加了2D 和3D 变换,例如:旋转、扭曲、缩放、位移等。
8. 增加动画与过渡效果,让效果的变换更具流线性、平滑性。

不过读者无需担心,在之后的学习中,我们将会对其进行一一讲解,这里只需要先进行了解即可!

2.CSS3私有前缀

       在学习CSS3新增的功能之前,我们需要先了解一下什么是CSS3私有前缀,它对我们之后的学习有帮助。

       (1)什么是私有前缀

如下代码中的-webkit- 就是私有前缀:

div {
    width:400px;
    height:400px;
    -webkit-border-radius: 20px;
}

这里我们设置了div元素的宽度和高度,但是第三个功能我们不太清除是干什么的,但是我们会发现在其功能之前出现了一个-webkit-修饰,这就是CSS3中的私有前缀。

       (2)常见浏览器私有前缀

以下举出了常见浏览器私有前缀:(不同浏览器使用的私有前缀不同):

       Chrome 浏览器: -webkit-

       Safari 浏览器: -webkit-

       Firefox 浏览器: -moz-

       Edge 浏览器: -webkit-

       旧 Opera 浏览器: -o-(已过时)

       旧 IE 浏览器: -ms-(已过时)

了解完了有哪些常见浏览器私有前缀和什么是私有前缀之后,细心的读者就会有疑问,私有前缀到底为什么会被设计出来,私有前缀到底有什么用呢?

       (3)为什么要有私有前缀

       我们要知道:W3C 标准所提出的某个CSS 特性,在被浏览器正式支持之前,浏览器厂商会根据浏览器的内核,使用私有前缀来测试该CSS 特性,在浏览器正式支持该CSS 特性后,就不需要私有前缀了。

所以简而言之,私有前缀就是用来表明该功能还在试用期中,至于之后是否会采用,那么不得而知了。

注意:

我们在编码时,不用过于关注浏览器私有前缀,不用绞尽脑汁的去记忆,也不用每个都去查询,因为常用的CSS3 新特性,主流浏览器都是支持的,即便是为了老浏览器而加前缀,我们也可以借助现代的构建工具,去帮我们添加私有前缀。

查询CSS3新增特性的兼容性的网站:https://caniuse.com/

点开网页输入想要查询的特性名称:

如果可以使用,则为绿色,不能则为红色,对于黄色的就是部分支持(需要使用私有前缀):

这样我们就大致了解了什么是私有前缀了!

3.CSS3 新增盒模型相关属性

       为了更好的从CSS2到CSS3进行过渡,本篇文章只讲解一个新增模块的特性(盒模型相关属性),先来看一下有哪些CSS3新增盒模型相关属性(如图):

       (1)box-sizing 怪异盒模型

box-sizing属性的作用:用于设置宽高作用的对象。

其常见的属性值为:

属性值 含义
content-box width 和 height 设置的是盒子内容区的大小。(默认值)
border-box width 和 height 设置的是盒子总大小。(怪异盒模型)

使用更加通俗易懂的话语来说,就是如果将box-sizing设置为content-box,那么你设置的宽高就是盒子内容区的宽高,如果想要计算盒子的总宽高,就需要自己在加上其padding区和border区。

但是如果将box-sizing设置为border-box,那么设置的宽高则为盒子的总的宽高(content+padding+border)

这样我们就了解了box-sizing 怪异盒模型了。

       (2)resize 调整盒子大小

resize属性的作用:可以控制是否允许用户调节元素尺寸。

其常见的属性值有:

属性值 含义
none 不允许用户调整元素大小。 (默认)
both 用户可以调节元素的宽度和高度。
horizontal 用户可以调节元素的宽度 。
vertical 用户可以调节元素的高度。

我们这里使用属性值vertical进行举例:

html代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="./test.css">
</head>
<body>
    <div>这是一个可以改变大小的方块</div>
</body>
</html>

CSS代码:

div {
    width: 300px;
    height: 200px;
    background-color: orange;
    overflow: hidden;
    resize: vertical;
}

注意:如果想要使元素可以改变大小,那么必须加上overflow: hidden;属性。

我们会发现其出现了一个可以拉动的图标,这样这个元素就可以调节其高度了。

这样我们就了解了resize 调整盒子大小了。

       (3)box-shadow 盒子阴影

box-shadow属性的作用:为盒子添加阴影。

语法:

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

各个值的含义:

属性值 含义
h-shadow 水平阴影的位置,必须填写,可以为负值
v-shadow 垂直阴影的位置,必须填写,可以为负值
blur 可选,模糊距离
spread 可选,阴影的外延值
color 可选,阴影的颜色
inset 可选,将外部阴影改为内部阴影

默认值: box-shadow:none 表示没有阴影。

我们可以看一下阴影的效果:

当然我们也可以写2、3、4、5、6个值:

例如:

/* 写两个值,含义:水平位置、垂直位置 */
box-shadow: 10px 10px;
 
/* 写三个值,含义:水平位置、垂直位置、颜色 */
box-shadow: 10px 10px red;
 
/* 写三个值,含义:水平位置、垂直位置、模糊值 */
box-shadow: 10px 10px 10px;
 
/* 写四个值,含义:水平位置、垂直位置、模糊值、颜色 */
box-shadow: 10px 10px 10px red;
 
/* 写五个值,含义:水平位置、垂直位置、模糊值、外延值、颜色 */
box-shadow: 10px 10px 10px 10px blue;
 
/* 写六个值,含义:水平位置、垂直位置、模糊值、外延值、颜色、内阴影 */
box-shadow: 10px 10px 20px 3px blue inset;

这里效果就不一一演示了,读者可以将代码复制到编译器中自行运行查看。

这样我们就了解了box-shadow 盒子阴影了。

       (4)opacity 不透明度

opacity属性的作用:为整个元素添加透明效果, 值是 0 到 1 之间的小数, 0 是完全透明, 1 表示完全不透明。

我们直接使用一个案例来看一下:

html代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="./test.css">
</head>
<body>
    <div>盒子整体的不透明度</div>
</body>
</html>

CSS代码:

div {
    width: 300px;
    height: 200px;
    background-color: orange;
    font-size: 20px;
    opacity: 0.5;
    box-shadow: 10px 10px 10px black;
}

我们会发现元素整体的不透明度发生了改变。

注意:opacity 与 rgba 的区别?

opacity 是一个属性,设置的是整个元素(包括元素里的内容)的不透明度。
rgba 是颜色的设置方式,用于设置颜色,它的透明度,仅仅是调整颜色的透明度。

这样我们就了解了opacity 不透明度了

相关文章
|
22天前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
Animation属性 css3为Animation动画提供的几个属性如下: 属性名 属性值 animation-name 指定动画名称,该属性指定一个已有的关键帧定义。 animation-duration 指定动画持续时间。 animation-timing-funtion 指定动画变化速度。 animation-delay 指定动画延迟多长时间才开始执行。 animation-iteration-count 指定动画的循环执行次数。 animation:这是一个复合属性。
58 0
|
机器学习/深度学习 前端开发 JavaScript
CSS动画知识点
CSS动画知识点
|
前端开发
CSS网页布局综合练习(涵盖大多CSS知识点)
CSS网页布局综合练习(涵盖大多CSS知识点)
|
前端开发
CSS网页布局综合练习(涵盖大多CSS知识点)
CSS网页布局综合练习(涵盖大多CSS知识点)
|
前端开发
【CSS】纯css3螺旋状loading加载特效
【CSS】纯css3螺旋状loading加载特效
161 4
|
前端开发 UED
CSS 盒模型
CSS盒模型是网页设计中一个重要的概念,它定义了HTML元素如何在页面上呈现及其相互关系。每个HTML元素都被视为一个矩形框,此模型涉及内容区、内边距、边框和外边距四个部分,通过控制这些部分的样式和布局,设计师可以实现多样化的页面效果。
|
前端开发 容器
CSS弹性盒子知识点
CSS弹性盒子知识点
|
Web App开发 前端开发 JavaScript
「offer来了」1张思维导图,6大知识板块,带你梳理面试中CSS的知识点!
该文章通过一张思维导图和六大知识板块系统梳理了前端面试中涉及的CSS核心知识点,包括CSS框架、基础样式问题、布局技巧、动画处理、浏览器兼容性及性能优化等方面的内容。
|
5月前
|
存储 自然语言处理 前端开发
抖音快手小红书虚拟评论截图生成器,模拟对话制作工具,html+js+css
这是一款纯前端实现的多平台虚拟评论生成器,支持抖音、快手、小红书风格,适用于产品演示与UI设计。采用Vanilla JS与Flexbox布局,利用IndexedDB存储数据,CSS Variables切换主题。
|
5月前
|
存储 前端开发 安全
病历单生成器在线制作,病历单生成器app,HTML+CSS+JS恶搞工具
本项目为医疗病历模拟生成器,旨在为医学教学和软件开发测试提供数据支持,严格遵守《医疗机构病历管理规定》。

热门文章

最新文章

  • 1
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
  • 4
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
  • 5
    React 中如何安装与使用 Tailwind CSS
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
  • 9
    (CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
  • 下一篇
    开通oss服务