【Web 前端】css3的新特性有哪些?

简介: 【4月更文挑战第22天】【Web 前端】css3的新特性有哪些?

image.png

当然,CSS3作为CSS的升级版本,引入了许多令人振奋的新特性,极大地丰富了前端开发者的工具箱。让我们深入探讨CSS3的新特性及其用法,并通过详细的分析和示例代码加以说明,以便读者全面了解。

1. 选择器的增强

CSS3引入了一系列新的选择器,使得选择元素更加方便和灵活。这些新的选择器包括:

  • 属性选择器的增强,如属性值的前缀、后缀匹配、属性值的子串匹配等。
  • 结构伪类,如:nth-child、:nth-of-type,可以根据元素在父元素中的位置进行选择。
  • 相邻兄弟选择器(Adjacent Sibling Selector),选择紧接在另一个元素后的元素。
  • 通用兄弟选择器(General Sibling Selector),选择与某个元素有相同父元素的所有兄弟元素。

示例代码:

/* 属性选择器的增强 */
input[type^="text"] {
   
    /* 选择 type 属性值以 "text" 开头的 input 元素 */
    background-color: lightblue;
}

/* 结构伪类 */
li:nth-child(odd) {
   
    /* 选择父元素下奇数位置的 li 元素 */
    background-color: lightgray;
}

/* 相邻兄弟选择器 */
h2 + p {
   
    /* 选择紧接在 h2 元素后的 p 元素 */
    font-weight: bold;
}

/* 通用兄弟选择器 */
h2 ~ p {
   
    /* 选择与 h2 元素有相同父元素的所有 p 元素 */
    color: darkgreen;
}

2. 盒模型的改进

CSS3引入了新的盒模型属性,使得盒模型更加灵活,可以更好地控制元素的尺寸和布局。其中,最重要的是box-sizing属性,可以控制盒模型的计算方式,包括content-box(默认值,只包括内容)、border-box(包括内容、内边距和边框)等。

示例代码:

/* 使用 border-box 盒模型 */
.box {
   
   
    box-sizing: border-box;
    width: 200px;
    padding: 20px;
    border: 2px solid black;
}

3. 新的布局方式

CSS3引入了新的布局方式,如弹性布局(Flexbox)和网格布局(Grid),使得页面布局更加灵活和响应式。

示例代码:

/* 使用 Flexbox 布局 */
.container {
   
   
    display: flex;
    justify-content: space-between;
}

.item {
   
   
    flex: 1;
}

/* 使用 Grid 布局 */
.container {
   
   
    display: grid;
    grid-template-columns: auto auto auto;
    gap: 10px;
}

4. 过渡和动画

CSS3允许开发者通过过渡(Transition)和动画(Animation)来实现元素的平滑过渡和动画效果,而无需依赖JavaScript。

示例代码:

/* 过渡 */
.button {
   
   
    transition: background-color 0.3s ease;
}

.button:hover {
   
   
    background-color: lightblue;
}

/* 动画 */
@keyframes slidein {
   
   
    from {
   
   
        transform: translateX(-100%);
    }
    to {
   
   
        transform: translateX(0);
    }
}

.slide {
   
   
    animation: slidein 1s forwards;
}

5. 新的字体特性

CSS3引入了许多新的字体特性,如多列文本(column-count)、文本阴影(text-shadow)、字体渐变(@font-face)等,使得文字样式更加丰富多彩。

示例代码:

/* 多列文本 */
.text {
   
   
    column-count: 2;
}

/* 文本阴影 */
.text {
   
   
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

/* 字体渐变 */
@font-face {
   
   
    font-family: MyFont;
    src: url('myfont.woff');
}

.text {
   
   
    font-family: MyFont, sans-serif;
}

6. 响应式设计支持

CSS3使得响应式设计更加容易实现,通过媒体查询(Media Queries)可以根据设备的特性和屏幕尺寸来调整页面的样式和布局,以提供更好的用户体验。

示例代码:

/* 媒体查询 */
@media screen and (max-width: 768px) {
   
   
    .container {
   
   
        flex-direction: column;
    }
}

7. 边框和背景效果

CSS3引入了许多新的边框和背景效果,如圆角边框(border-radius)、阴影(box-shadow)、渐变背景(linear-gradient、radial-gradient)、背景尺寸调整(background-size)等,使得页面更具吸引力和美观度。

示例代码:

/* 圆角边框 */
.box {
   
   
    border-radius: 10px;
}

/* 阴影 */
.box {
   
   
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

/* 渐变背景 */
.box {
   
   
    background: linear-gradient(to right, red, blue);
}

/* 背景尺寸调整 */
.box {
   
   
    background-size: cover;
}

以上是CSS3的一些主要新特性及其用法。通过这些新特性,开发者可以更加轻松地实现各种吸引人的页面效果和布局方式,提升用户体验和页面的美观度。这些示例代码旨在帮助读者更加深入地了解CSS。

相关文章
|
并行计算 前端开发 JavaScript
Web Worker:让前端飞起来的隐形引擎
在现代 Web 开发中,前端性能优化是一个至关重要的课题,尤其是对于计算密集型的应用,如图像处理、视频处理、大规模数据分析等任务。单线程的 JavaScript 引擎常常成为性能瓶颈,导致应用变得迟缓。Web Worker,作为一种强大的技术,使得前端能够在后台进行并行计算,从而实现高效的任务处理,不影响主线程的运行和用户的交互体验。
954 108
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
伪类:伪类这个叫法源自于它们跟类相似,但实际上并没有类会附加到标记中的标签上。 伪类分为两种(以及新增的伪类选择器): UI伪类:会在HTML元素处于某种状态时(例如:鼠标指针位于连接上),为该元素应用CSS样式。 :hover 结构化伪类:会在标记中存在某种结构上的关系时 例如: 某元素是一组元素中的第一个或最后一个,为该元素应用CSS样式。 :not和:target(CSS3新增的两个特殊的伪类选择器)
1451 2
|
前端开发 JavaScript 算法
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
transform变形 css3在原来的基础上新增了变形和动画相关属性,通过这些属性可以实现以前需要大段JavaScript才能实现的 功能。 CSS3的变形功能可以对HTML组件执行位移、旋转、缩放、倾斜4种几何变换,这样的变换可以控制HTML组件 呈现出丰富的外观。 借助于位移、旋转、缩放、倾斜这4种几何变换,CSS3提供了transition动画。 transition动画比较简单,只要指定HTML组件的哪些CSS属性需要使用动画效果来执行变化,并指定动画时间,就可保证动画播放。 比transitio
613 1
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
Flex 布局 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。 2009年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。 一、Flex 布局是什么? Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。
690 0
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
盒模型 盒模型: 所谓盒模型,就是浏览器为页面中的每个HTML元素生成的矩形盒子。 这些盒子们都要按照可见板式模型在页面上排布。 可见的板式模型主要由三个属性控制:position 属性、display 属性和 float属性。 position属性控制页面上元素间的位置关系。 display属性控制元素是堆叠、并排或者不在页面上显示。 float属性提供控制的方法,以便于把元素组成成多栏布局。 盒模型讲解: 在默认的情况下,每个盒子的边框是不可见的,背景也是透明的。 所以我们 不能直接的看到页面中的盒
1759 1
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
Animation属性 css3为Animation动画提供的几个属性如下: 属性名 属性值 animation-name 指定动画名称,该属性指定一个已有的关键帧定义。 animation-duration 指定动画持续时间。 animation-timing-funtion 指定动画变化速度。 animation-delay 指定动画延迟多长时间才开始执行。 animation-iteration-count 指定动画的循环执行次数。 animation:这是一个复合属性。
741 3
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
position定位(核心) 我们讲盒模型的时候,提到了3个属性可以用来控制页面排版。 三大属性:position属性,display属性,float属性。 position 属性控制页面上元素间的位置关系。 display 属性控制页面元素是否显示或者是堆叠还是并排显示。 float 属性提供控制方法。 通过float这种控制方法,可以实现多栏布局,导航菜单等等。 position属性是干嘛用的?怎么用?有哪些属性值? position属性控制页面上元素间的位置关系,也就是排版。 怎么用?要知道怎么用
886 0
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
继承 我们的CSS中很多的属性也是可以继承的,其中相当一部分是跟文字的相关的,比如说颜色、字体、字号。 当然还有一部分是不能继承的。 例如边框、内外边距。 层叠 层叠是CSS的核心机制。 层叠的工作机制: 当元素的同一个样式属性有多种样式值的时候,CSS就是靠层叠机制来决定最终应用哪种样式。 层叠规则: 层叠规则一:找到应用给每个元素和属性的声明。 说明:浏览器在加载每个页面时,都会据此查找到每条CSS规则, 并标识出所有受到影响的HTML元素。
417 1
|
Web App开发 编解码 移动开发
零基础音视频入门:你所不知道的Web前端音视频知识
本文回顾了Web端音视频的发展历程,同时还介绍了视频的编码、帧率、比特率等概念,提到了Canvas作为视频播放的替代方案,以及FFmpeg在音视频处理中的重要作用等知识。
495 1

热门文章

最新文章

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