CSS3新增功能03

1. 3d效果

1.1 transform属性的3d效果

在transform属性值中有rotate旋转,translate移动距离,scale缩放,skew扭曲。这些属性值都可以分为x轴方向,y轴方向和z轴方向。z轴方向是垂直浏览器向外的方向,可以通过多z轴方向设置各属性值来实现3d效果。

当元素需要设置3d效果时,必须给其父元素设置transform-style: preserve-3d;属性,使元素在做变换时是已3d的效果显示。同时可以给该元素的祖辈元素设置perspective: 1000px;来设置元素显示远小近大的效果。数值越小元素远小近大的效果月明显。

1.2 x、y、z方向

每个元素都存在x、y、z三个方向,但是需要区分两种情况:

1.2.1 元素未进行旋转时

元素未进行旋转时,它的x、y两个方向与浏览器方向统一,z轴方向为垂直浏览器向外。

1.2.2 元素进行旋转后

元素旋转后,它的x、y、z三个方向会根据旋转进行相应改变。因此会出现先移动再旋转与先旋转后移动后的效果不同的情况。

1.3 视角中心

在设置了3d旋转,并且设置了perspective: 1000px;属性,浏览器会根据用户的视角来改变不同位置的子元素旋转的效果,其中浏览器默认的视角中心为设置了perspective: 1000px;属性的元素的正中心位置。

2. 一次性事件注册

我们会经常遇到需要在一个注册事件中再注册其他事件,如果这个外部事件经常被触发的话会连带着影响内部的注册事件,使得内部事件会重复多次注册,消耗内存影响运行速度。这时我们就希望这内部的事件成为一次性事件,在外部事件触发的时候给对应元素注册事件,当外部事件结束将内部事件清空。

所以JS提供了一个绑定事件的方法,one()一次性绑定事件,在这个绑定事件中注册的事件会在触发执行后被清空,不影响内存。

当然如果将内部事件放在外面进行注册的话,也可以做到事件只注册一次,对内存的消耗也极小。

3. 弹性盒子布局

以往我们在给html页面布局时常会使用float浮动、position定位、margin外边距、padding内边距等方式来实现,但是我们也知道稳定的还是标准流中的布局其次才是浮动定位等。
而在CSS3中给予了我们能够更加稳定、更加方便的设置页面布局。

3.1 弹性布局的基础语法

如果某个元素需要作为弹性布局的大盒子时,需要给该元素设置display:flex;属性,我们也可以称之为开启弹性。这个元素下的子元素就可以通过样式设置来进行布局。

3.2 弹性布局父元素常用属性

3.2.1 flex-direction弹性布局方向

设置子元素布局的方向,默认为x轴方向布置,这时子元素变化的是宽度属性。

也可以设置flex-direction: column;使子元素按y轴方向布置,这时子元素变化的是高度属性。

3.2.2 子元素对齐方向

justify-content:默认为设置x轴方向的对齐方式。

align-items:默认为设置y轴方向的对齐方式。

注意:如果弹性布局的方向改变后,这两个对齐方向也会改变。就是如果布局方向设置为了y轴方向时,justify-content为设置y轴方向的对齐方式;align-items:为设置x轴方向的对齐方式。

3.2.3 flex-wrap: wrap;开启换行

子元素设置变化属性,可能会出现超出父盒子的最大对应尺寸,这时父元素会默认按照子元素设置的属性值进行比例分割,而不会超出父元素。这个现象的原因是因为父元素默认flex-wrap值为nowrap。将父元素设置flex-wrap: wrap;属性后会在子元素超出父元素时将子元素进行换行。

3.3 弹性布局子元素常用属性

3.3.1 子元素flex弹性比例

给子元素设置flex属性,属性值为数字,父元素会根据所有子元素需要的比例总和与对应子元素占用的弹性比例来进行子元素变化属性的设置。

3.3.2 align-self

设置自身对齐方式,这个属性的改变方向会根据父元素的弹性方向改变。

3.3.3 order

设置所有子元素布局的先后,默认值为0,默认的布局顺序根据html标签的先后。给order属性设置值,可以是负值,并且值越小该子元素布局顺序越靠前。

3.4 弹性布局的嵌套

在设置弹性布局时,每一个需要给其子元素设置弹性布局的元素都需要设置display:flex;属性。

3.5 元素的绝对居中方法

3.5.1 方法1:margin属性

给该元素设置绝对定位,并且父元素设置相对定位。再设置该元素的位置,具体代码如下:

position: absolute;

top:50%;

left:50%;

margin-left:(-元素宽度的一半);

margin-top:(-元素高度的一半);

3.5.2 方法2:transform属性

给该元素设置绝对定位,并且父元素设置相对定位。再设置该元素的位置,具体代码如下:

position: absolute;

top:50%;

left:50%;

transform: translateX((-元素宽度的一半)px) translateY((-元素高度的一半)px);

3.5.3 方法3:弹性盒子属性

给需要绝对居中的元素的父元素设置弹性盒子中的居中属性,具体代码如下:

display: flex;

justify-content: center;

align-items: center;

时间: 2024-12-24 09:28:59

CSS3新增功能03的相关文章

css3新增功能

CSS3新增功能 1 CSS3选择器详解 1.1 基础选择器 通配选择器* 元素选择器E ID选择器#id CLASS选择器.class 群组选择器select1,selectN 1.2 层次选择器 后代选择器 E F 子选择器 E>F 相邻兄弟选择器 E+F 通用兄弟选择器 E~F 1.3 属性选择器 E[attr] 选择具有att属性的E元素. E[attr="val"] 选择具有att属性且属性值等于val的E元素. E[attr~="val"] 选择具

CSS3新增功能02

1. CSS3中background新属性 1.1 background-size:直接设置图片的大小. 1.1.1 可以使用数值直接设置宽高. 1.1.2 cover:缩放图片,铺满盒子,图片的宽高比不变,会使图片某一部分伸出盒子范围. 1.1.3 contain:缩放图片,不会铺满盒子,图片的宽高比不变,在图片全部在盒子范围内的前提下,缩放图片直到图片的宽或者高达到盒子对应的值,会使盒子有一部分为空白. 1.2 background-origin:设置图片在盒子中开始显示的位置 1.2.1

C# 2.0 中的新增功能03 匿名方法

连载目录    [已更新最新开发文章,点击查看详细] 在 2.0 之前的 C# 版本中,声明委托的唯一方式是使用命名方法. C# 2.0 引入匿名方法,在 C# 3.0 及更高版本中,Lambda 表达式取代匿名方法作为编写内联代码的首选方式. 但是,本主题中有关匿名方法的信息也适用于 Lambda 表达式. 在有一种情况下,匿名方法提供 Lambda 表达式中没有的功能. 使用匿名方法可省略参数列表. 这意味着匿名方法可转换为具有多种签名的委托. Lambda 表达式无法实现这一点. 有关 L

CSS3新增属性text-shadow详解及燃烧的字体实战开发

今天我们有很多程序员在给文本设置样式时,都感觉无从下手.一般有两种情况: 1) 不知道关于文本到底有哪些样式属性: 2) 即使借助开发工具的自动提醒,依然不清楚样式属性的具体意思,以及具体用法. 今天这篇文章,我将带领大家一起来领受CSS3在文本样式应用方面的超强能力.通过精彩的实例,来使大家重新认识CSS3文本样式,真心希望大家通过此篇文章,即使不能做到精通CSS3的文本样式的应用,也会做到熟练应用. 实例: 如何利用CSS3制作燃烧的字体? 以前,如果我们网页上想要显示一个燃烧着的文本,大家

h5新增和css3新增

编辑器: webstorm, 英文版 sublime, hbuilder vscode, dwh5的新标签及特性(移动端用的多),,,,如果想在图片里面显示 “帅哥" 记得使用单双引号,外面是单引号,里面是双引号例如: <img src="" title='这里有一个"傻狗"'/>h5新增语义化标签:(对浏览器和搜索引擎友好,)div没有语义化, 都可能出现很多次 section元素 表示页面中的一个区块 article 元素: 表示页面中的一

PHP5.2至5.6的新增功能详解

截至目前(2014.2), PHP 的最新稳定版本是 PHP5.5, 但有差不多一半的用户仍在使用已经不在维护 [注] 的 PHP5.2, 其余的一半用户在使用 PHP5.3 [注].因为 PHP 那"集百家之长"的蛋疼语法,加上社区氛围不好,很多人对新版本,新特征并无兴趣.本文将会介绍自 PHP5.2 起,直至 PHP5.6 中增加的新特征. PHP5.2 以前:autoload, PDO 和 MySQLi, 类型约束 PHP5.2:JSON 支持 PHP5.3:弃用的功能,匿名函数

Netbackup 7.6新增功能和优势

  一.新增功能 1.1NetBackup Accelerator(适用于 VMware) 此功能使用 Accelerator 技术加快虚拟化备份速度,在完成增量备份期间还提供完全备份映像.借助 VMware 更改数据块跟踪 (CBT) 和 NetBackup Accelerator,仅将发生变化的数据块从客户端传输至介质服务器. ·       备份速度增加高达 35 倍,可以更好地满足服务级别协议要求而不影响恢复 ·       减少了数据传输量,因此缓解了基础架构承受的压力 1.2NetB

CSS3新增特性

CSS3新增属性选择器 属性名称 含义 [att^="value"] 该属性的值以指定的值开始 [att$="value"] 该属性的值以指定的值结束 [att*="value"] 该属性的值包含指定的值,而无论其位置 RGBA透明度 当设置一个RGBA色彩的时候,参数依次设定为红.蓝.绿(可以位0~255或百分数)和通道Alpha(0~1之间) 多背景图片 用户可以使用多个属性来设置背景图片或特效效果,如background-image.bac

ADO.NET 中的新增功能

ADO.NET 中的新增功能: .NET Framework (current version) 以下是 .NET Framework 4.5 中 ADO.NET 的新增功能. SqlClient Data Provider 以下是 .NET Framework 4.5 中用于 SQL Server 的 .NET Framework 数据提供程序的新增功能: ConnectRetryCount 和 ConnectRetryInterval 连接字符串关键字 (ConnectionString)