css3 都有哪些新属性

  • 1. css3 都有哪些新属性
    • 1.1. 圆角边框 (border-radius)
    • 1.2. 盒子阴影 (box-shadow)
    • 1.3. 文本阴影 (text-shadow)
    • 1.4. 响应式设计相关属性
    • 1.5. 渐变背景 (gradient backgrounds)
    • 1.6. 透明度 (opacityrgba/hsla)
    • 1.7. 多列布局 (column-count, column-gap, etc.)
    • 1.8. 变换 (transform)
    • 1.9. 过渡 (transition)
    • 1.10. 动画 (@keyframes + animation)
    • 1.11. font-face属性
  • 2. css3 有哪些响应式设计相关属性
    • 2.1. Media Queries (@media)
    • 2.2. Flexbox (display: flex)
    • 2.3. Grid Layout (display: grid)
    • 2.4. Viewport Units (vw, vh, vmin, vmax)
    • 2.5. ** calc()**
    • 2.6. rem单位
  • 3. css3 媒体查询
    • 3.1. 基本语法
    • 3.2. 常用媒体特性
    • 3.3. 示例
    • 3.4. 注意事项
  • 4. css3 多列布局
  • 5. css3 动画
    • 5.1. 构成
      • 5.1.1. @keyframes规则:
      • 5.1.2. animation-name:
      • 5.1.3. animation-duration:
      • 5.1.4. animation-timing-function:
      • 5.1.5. animation-iteration-count:

1. css3 都有哪些新属性

CSS3引入了许多新属性,极大地丰富了网页设计的能力,提高了用户体验。

以下是一些关键的CSS3新属性及其简要说明:

1.1. 圆角边框 (border-radius)

  • 使元素的边框变为圆角。例如,border-radius: 10px; 将元素的四个角都设置为10像素的圆角。

1.2. 盒子阴影 (box-shadow)

  • 给元素添加阴影效果,增加深度和维度。例如,box-shadow: 5px 5px 10px #888888; 表示阴影偏移5像素右和下,模糊距离为10像素,颜色为灰色。

1.3. 文本阴影 (text-shadow)

  • 给文本添加阴影,可用于创建立体或发光效果。

例如,text-shadow: 2px 2px 4px #000000; 会使文本产生向右下方偏移2像素,模糊4像素的黑色阴影。

1.4. 响应式设计相关属性

  • flexbox (flex布局):如 display: flex; 用于创建灵活且可响应的布局。
  • grid (网格布局):如 display: grid; 提供了一种定义二维布局的方法。
  • media queries:如 @media screen and (max-width: 600px) {...} 可根据不同屏幕尺寸应用不同样式。

1.5. 渐变背景 (gradient backgrounds)

  • 使用 linear-gradient()radial-gradient() 创建线性或径向渐变背景。例如,background: linear-gradient(to right, red, orange); 创建从左到右红色渐变至橙色的背景。

1.6. 透明度 (opacityrgba/hsla)

  • opacity: 0.5; 控制元素的整体透明度。
  • background-color: rgba(0, 0, 0, 0.5); 使用RGBA颜色模式设置带有透明度的背景颜色。

1.7. 多列布局 (column-count, column-gap, etc.)

  • 用于实现文本的多列布局,如 column-count: 3; 将内容分为三列显示。

1.8. 变换 (transform)

  • 用于旋转、缩放、倾斜或移动元素。例如,transform: rotate(45deg); 旋转元素45度。

1.9. 过渡 (transition)

  • 添加平滑的动画效果到CSS属性的变化,如 transition: background-color 0.5s ease; 在背景颜色变化时添加0.5秒的过渡效果。

1.10. 动画 (@keyframes + animation)

  • 创建复杂的动画序列,如 @keyframes fadeIn { 0% { opacity: 0; } 100% { opacity: 1; } } 定义了一个淡入动画,然后通过 animation: fadeIn 2s; 应用到元素上。

1.11. font-face属性

font-face属性:定义自己的字体。

在新的 @font-face 规则中,您必须首先定义字体的名称(比如 myFirstFont),然后指向该字体文件。

这些只是CSS3众多新功能的一部分,还有更多属性如 border-image, calc() 函数,以及针对字体(@font-face)、滤镜效果 (filter) 等的改进,大大增强了CSS的功能性和表现力。

更多详细内容,请微信搜索“前端爱好者戳我 查看

2. css3 有哪些响应式设计相关属性

CSS3 引入了多项特性来支持响应式设计,使得网页能够根据不同的设备特性和屏幕尺寸自动调整布局和样式。

以下是几个关键的响应式设计相关属性及其示例:

2.1. Media Queries (@media)

Media Queries 是响应式设计的核心,它允许你根据不同的条件应用不同的CSS规则。

例如,你可以基于屏幕宽度调整布局:

@media screen and (max-width: 600px) {/* 当屏幕宽度小于或等于600px时的样式 */.content {width: 100%;padding: 0 10px;}
}

2.2. Flexbox (display: flex)

Flexbox(弹性盒子模型)提供了一种更加有效的方式来布局、对齐和分配容器内项目的空间,不论它们的大小如何:

.container {display: flex;flex-wrap: wrap;
}
.item {flex: 1 0 200px; /* 使项目能够伸缩并设定最小宽度 */
}

2.3. Grid Layout (display: grid)

网格布局提供了创建二维布局结构的能力,非常适合响应式设计中的复杂布局:

.grid-container {display: grid;grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
}

2.4. Viewport Units (vw, vh, vmin, vmax)

视口单位让你能够基于视口尺寸来设定元素的尺寸,而不是固定的像素值:

.header {font-size: 3vw; /* 文字大小会随视口宽度变化 */
}

2.5. ** calc()**

calc() 函数可以在CSS中执行计算,帮助创建动态的布局和响应式的尺寸:

.element {width: calc(100% - 60px); /* 元素宽度为视口宽度减去60像素 */
}

2.6. rem单位

使用 rem(根元素的em)作为单位,可以使元素尺寸相对于页面根字体大小缩放,便于在不同屏幕尺寸上调整布局:

html {font-size: 16px;
}
.section {width: 30rem; /* 宽度为根字体大小的30倍 */
}

这些属性和功能结合使用,构成了CSS3响应式设计的基础,使开发者能够创建出适应各种设备和屏幕尺寸的灵活网页布局。

3. css3 媒体查询

CSS3中的媒体查询(Media Queries)是一种强大的技术,它允许开发者根据不同的设备特征(如视口尺寸、设备像素比、设备方向等)来应用不同的CSS样式。

这对于创建响应式网页设计至关重要,确保网站在多种设备上,无论是桌面、平板、手机还是其他屏幕类型,都能提供良好的用户体验。下面是关于CSS3媒体查询的一些基本概念和用法指南:

3.1. 基本语法

媒体查询的基本结构使用@media规则,后跟一个或多个媒体特性(可选的媒体类型和媒体特性值),以及大括号内的CSS样式声明。

@media media-type and (media-feature: value) {/* CSS rules */
}
  • media-type 是可选的,指定了目标设备类型,如 screenprintspeech 等,现代Web开发中通常省略,因为大多数情况下都是针对屏幕。
  • media-feature 是媒体特征,例如 widthheightorientationresolution 等。
  • value 是与媒体特征相关的具体值或者范围。

3.2. 常用媒体特性

  • min-widthmax-width: 设定样式应用于最小/最大宽度以上的屏幕。
  • min-heightmax-height: 同上,但针对高度。
  • orientation: 检测设备是横屏(landscape)还是竖屏(portrait)。
  • resolution: 设备的分辨率,可以是dpi、dpcm或dppx单位。
  • colorcolor-index: 针对设备的颜色能力。

3.3. 示例

/* 针对屏幕宽度至少为600px的设备 */
@media (min-width: 600px) {body {font-size: 18px;}
}/* 针对横屏设备 */
@media (orientation: landscape) {.sidebar {width: 30%;}
}/* 针对高分辨率屏幕 */
@media (min-resolution: 2dppx) {.logo {background-image: url(high-res-logo.png);}
}

3.4. 注意事项

  • 媒体查询可以嵌套,以实现更复杂的逻辑。
  • 使用 and,notonly 这些关键字来组合和限制查询条件。
  • 通常在样式表的底部放置媒体查询,以确保它们能覆盖之前定义的样式(遵循CSS的层叠原则)。
  • 确保设置 <meta name="viewport" 标签,以让媒体查询在移动设备上正确工作。

通过合理运用媒体查询,开发者能够创建灵活且适应性强的界面,满足多样化的用户需求。

4. css3 多列布局

CSS3的多列布局允许开发者轻松地将文本或者其他内容分割成多个列,类似于报纸的排版效果,提高内容的可读性和页面的美观性。

下面是一个使用CSS3多列布局属性的简单示例:

假设我们想在一个<div>元素中创建一个包含三列的布局,每列宽度自动调整,列间有10像素的间隔,并且希望列之间有一条1像素宽的浅灰色线条作为分隔线。

HTML部分:

<div class="multi-column"><p>这里是第一段文本内容...</p><p>这里是第二段文本内容...</p><!-- 更多段落或文本 -->
</div>

CSS部分:

.multi-column {/* 指定列数 */column-count: 3;/* 列间距 */column-gap: 10px;/* 列间边框(颜色、宽度、样式) */column-rule: 1px solid #ccc;/* 可选:如果需要,可以设置列的最小宽度 *//* column-width: 200px; 如果设置了column-width和column-count,浏览器将优先考虑column-count *//* 自动填充内容到各列,保持列的高度相等(根据浏览器支持情况可能有所不同) */column-fill: balance;
}

在这个例子中,.multi-column类应用了多列布局的属性,使得其中的内容自动分为三列显示,每列之间有10像素的间隔,并有一条1像素宽的浅灰色线条作为列之间的分隔。column-fill: balance;属性尝试平衡各列的高度,但请注意,这个属性的支持度在不同浏览器中可能有所差异。

多列布局非常适合长篇文章、新闻列表或任何需要大量文本内容优雅排版的场景。

5. css3 动画

CSS3动画是通过关键帧、动画属性等来实现元素在页面上的动态效果,无需使用JavaScript或其他脚本语言。

下面是一个简单的CSS3动画示例,展示如何让一个盒子从左到右平滑移动:

HTML部分:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>CSS3动画示例</title>
<style>.box {width: 100px;height: 100px;background-color: red;position: relative;left: 0; /* 初始位置 */}/* 定义动画 */@keyframes moveRight {0% {left: 0;} /* 动画开始时的位置 */100% {left: 200px;} /* 动画结束时的位置 */}/* 应用动画 */.animated {animation-name: moveRight; /* 关键帧名称 */animation-duration: 2s; /* 动画持续时间 */animation-timing-function: ease-in-out; /* 动画速度曲线 */animation-iteration-count: infinite; /* 动画重复次数,infinite表示无限次 */}
</style>
</head>
<body><div class="box animated"></div> <!-- 添加animated类来激活动画 --></body>
</html>

5.1. 构成

5.1.1. @keyframes规则:

@keyframes moveRight {...} 定义了一个名为moveRight的关键帧动画,描述了元素从初始位置(left: 0)平滑移动到最终位置(left: 200px)的过程。

5.1.2. animation-name:

.animated {animation-name: moveRight;} 指定了要绑定到元素的动画名称,这里是moveRight

5.1.3. animation-duration:

.animated {animation-duration: 2s;} 设置了动画的持续时间为2秒。

5.1.4. animation-timing-function:

.animated {animation-timing-function: ease-in-out;} 控制动画的速度曲线,这里设置为先慢后快再慢的效果。

5.1.5. animation-iteration-count:

.animated {animation-iteration-count: infinite;} 设定了动画的重复次数,infinite表示动画将无限次重复。

当页面加载时,带有.animated类的盒子元素会按照定义好的动画规则从左侧平滑移动到右侧,由于设置了无限循环,它会不停地来回移动。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/24445.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

websocket php workerman 服务器nginx配置wss协议

首先 Nginx的版本要高&#xff0c;尽量用当前最新稳定版本。 其次 WSS协议&#xff0c;是在HTTPS协议的基础上&#xff0c;进行协议升级&#xff0c;进行通讯的&#xff0c;所以先要保证你有一个 HTTPS正常的WEB站点。 所以&#xff0c;通过Nginx -V 请保证 一定有 --with-ht…

【ArcGIS微课1000例】0119:TIFF与grid格式互相转换

文章目录 一、任务描述二、tiff转grid三、grid转tif四、注意事项一、任务描述 地理栅格数据常用TIFF格式和GRID格式进行存储。TIFF格式的栅格数据常以单文件形式存储,不仅存储有R、G、B三波段的像素值,还保存有地理坐标信息。GRID格式的栅格数据常以多文件的形式进行存储,且…

国产操作系统上给麒麟虚拟机安装virtualbox增强工具 _ 统信 _ 麒麟 _ 中科方德

原文链接&#xff1a;国产操作系统上给麒麟虚拟机安装virtualbox增强工具 | 统信 | 麒麟 | 中科方德 Hello&#xff0c;大家好啊&#xff01;昨天给大家带来了一篇在国产操作系统上给VirtualBox中的Win7虚拟机安装增强工具的文章&#xff0c;今天我们将继续深入&#xff0c;介绍…

Plotly : 超好用的Python可视化工具

文章目录 安装&#xff1a;开始你的 Plotly 之旅基本折线图&#xff1a;简单却强大的起点带颜色的散点图&#xff1a;数据的多彩世界三维曲面图&#xff1a;探索数据的深度气泡图&#xff1a;让世界看到你的数据小提琴图&#xff1a;数据分布的优雅展现旭日图&#xff1a;分层数…

虚拟机与windows文件同步

如果上图中不能设置&#xff0c;则在虚拟机mnt文件夹执行以下命令&#xff1a;

项目质量保证措施(Word原件)

一、 质量保障措施 二、 项目质量管理保障措施 &#xff08;一&#xff09; 资深的质量经理与质保组 &#xff08;二&#xff09; 全程参与的质量经理 &#xff08;三&#xff09; 合理的质量控制流程 1&#xff0e; 质量管理规范&#xff1a; 2&#xff0e; 加强协调管理&…

超详解——Python模块文档——小白篇

目录 1. Unix起始行 示例&#xff1a; 2. 对象和类型 示例&#xff1a; 3. 一切都是对象 示例&#xff1a; 4. 理解对象和引用 示例&#xff1a; 5. 理解对象和类型 示例&#xff1a; 6. 标准类型 示例&#xff1a; 7. 其他内建类型 示例&#xff1a; 8. 类型的类…

【乐吾乐2D可视化组态编辑器】在线使用,快速入门

一、在线使用 乐吾乐2D可视化组态编辑器地址&#xff1a;https://2d.le5le.com/ 二、步骤 本教程将带领你快速体验2D可视化编辑器的全流程开发。 1.创建图纸 进入2d编辑器主界面后&#xff0c;主界面最中心为图纸面板&#xff0c;默认为空图纸&#xff0c;在界面左侧为组…

AI魔法相机:实时3D重建与场景魔法化

一、产品概述 AI魔法相机是一款创新的硬件产品,它结合了AI技术和3D重建扫描技术,能够实时捕捉并重建3D场景和物理世界。用户只需通过简单的点击操作,即可捕捉现实物体或环境,并将其无缝融合到任何场景中,创造出全新的想象现实。 二、核心功能 实时捕捉:一键式操作,迅速…

用例与用例之间的三种关系:泛化、包含、扩展

UML用例图&#xff08;Use Case Diagrame)&#xff0c;是UML图的一种&#xff0c;主要用来描述角色及角色与用例之间的连接关系。 1.泛化 当多个用例共有一种类似的结构和行为时。能够将他们的共性抽象成为父用例&#xff0c;其它的用例作为泛化关系的子用例。箭头指向父用例…

使用Aspose技术将Excel/Word转换为PDF

简介&#xff1a;本文将介绍如何使用Aspose技术将Excel文件转换为PDF格式。我们将使用Aspose-Cells-8.5.2.jar包&#xff0c;并演示Java代码以及进行测试。 一、Aspose技术概述 Aspose是一款强大的文档处理库&#xff0c;支持多种编程语言&#xff0c;如Java、C#、Python等。…

关于 spring boot 的 目录详解 和 配置文件 以及 日志

目录 配置文件 spring boot 的配置文件有两种格式&#xff0c;分别是 properties 和 yml&#xff08;yaml&#xff09;。这两种格式的配置文件是可以同时存在的&#xff0c;此时会以 properties 的文件为主&#xff0c;但一般都是使用同一种格式的。 格式 properties 语法格…

【Python】selenium 点击某个按钮 click() 出现的报错问题--ElementClickInterceptedException(全!)

写在前面&#xff1a; 我们在使用selenium 点击某个元素时或者获取find_element的某个网页元素时&#xff0c;总会遇到一些问题。本人经验是&#xff0c;最直接的方法是用try_except 报错&#xff0c;直接绕过问题&#xff0c;可以直接看第一条。如果有兴趣具体解决&#xff0c…

[Algorithm][动态规划][01背包问题][模板 背包][分割等和子集]详细讲解 +何为背包问题?

目录 0.何为背包问题&#xff1f;1.模板 背包1.题目链接2.算法原理详解3.代码实现 2.分割等和子集1.题目链接2.算法原理详解3.代码实现 0.何为背包问题&#xff1f; 背包问题&#xff1a;有限制条件下的"组合问题" 你有一个背包&#xff0c;地上有一堆物品&#xff…

四十三、openlayers官网示例Freehand Drawing解析——在地图上自由绘制图形

想要在地图上绘制自由图形&#xff0c;只需要在new Draw的时候多加一个配置项就行。 function addInteraction() {const value typeSelect.value;if (value ! "None") {draw new Draw({source: source,type: typeSelect.value,freehand: true, //是否自由绘制});ma…

在当前页面拿到抽屉弹窗页面中从后端返回的值 #Vue3 #两个.vue页面之间传值问题

在当前页面拿到抽屉弹窗页面中从后端返回的值 #Vue3 #两个.vue页面之间传值问题 *解决方法一&#xff1a; 将抽屉弹窗里从后端返回得到的值缓存在浏览器中&#xff0c;在当前页面中从浏览器中获取该值。 &#xff08;原理其实就是借助第三个盒子来传递一下值&#xff0c;太小学…

HIK录像机GB28181对接相机不在线问题随笔

一、问题现象 【设备信息】型号&#xff1a;DS-8664N-I16-V3 V4.63.000 build 230412 【问题现象】HIK录像机使用GB28181对接异常相机无法正常上线&#xff0c;对接HIK相机可以正常上线。 【现场拓扑】现场拓扑如下 NVR侧使用固定公网IP地址。IPC侧使用家用宽带的方式&…

第R3周:天气预测

&#x1f368; 本文为&#x1f517;365天深度学习训练营中的学习记录博客 &#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制 &#x1f680; 文章来源&#xff1a;K同学的学习圈子 目录 我的环境 语言环境&#xff1a;python3.8.18编译器&#xff1a;jupyter not…

pikachu靶场(File Inclusion(文件包含)通关教程)

1.File Inclusion(local)本地文件包含 1.1打开网站&#xff0c;发现有个下拉框&#xff0c;随便选择一个&#xff0c;然后点击提交 1.2发现图中有个参数变了&#xff0c;其他的也会变&#xff0c;猜测这里可能有其他隐藏的文件 1.3直接进行抓包 &#xff0c;右键发送到爆破模…

LeetCode | 1470.重新排列数组

class Solution(object):def shuffle(self, nums, n):""":type nums: List[int]:type n: int:rtype: List[int]"""result []for i in range(n):result.append(nums[i])result.append(nums[i n])return result这题很容易想到的就是遍历整个数组…