CSS3新增属性2

CSS3简介

1.CSS:层叠样式表(Cascading Style Sheet)。

CSS3是CSS2的升级版本,3只是版本号,它在CSS2.1的基础上增加了很多强大的新功能。
目前主流浏览器chrome、safari、firefox、opera、甚至360都已经支持了CSS3大部分功能了,IE10以后也开始全面支持CSS3了。在编写CSS3样式时,不同的浏览器可能需要不同的前缀。它表示该CSS属性或规则尚未成为W3C标准的一部分,是浏览器的私有属性,虽然目前较新版本的浏览器都是不需要前缀的,但为了更好的向前兼容,前缀还是少不了的。
在这里插入图片描述

2.CSS3能做什么?

CSS3把很多以前需要使用图片和脚本来实现的效果、甚至动画效果,只需要短短几行代码就能搞定。比如圆角,图片边框,文字阴影和盒阴影,过渡、动画等。

CSS3简化了前端开发工作人员的设计过程,加快页面载入速度。

功能:选择器、圆角效果、文字阴影与块阴影、色彩、渐变效果、个性化字体(@font-face)、多背景图、边框背景图、变形处理、多栏布局、媒体查询等等。

CSS3使代码更简洁、更高效。可以极大的提高工作效率,打造更高级的用户体验。使web应用的界面设计进入一个新的台阶。

3.CSS3选择器

  • 属性选择器

在CSS2中引入了一些属性选择器,而CSS3在CSS2的基础上对属性选择器进行了扩展,新增了3个属性选择器,使得属性选择器有了通配符的概念,这三个属性选择器与CSS2的属性选择器共同构成了CSS功能强大的属性选择器。如下表所示:
在这里插入图片描述

  • 结构性伪类选择器:

:root选择器:从字面上我们就可以很清楚的理解是根选择器,他的意思就是匹配元素E所在文档的根元素。在HTML文档中,根元素始终是< html >。

:not选择器:称为否定选择器,和jQuery中的:not选择器一模一样,可以选择除某个元素之外的所有元素。
:empty选择器:表示的就是空。用来选择没有任何内容的元素,这里没有内容指的是一点内容都没有,哪怕是一个空格。
:target选择器:称为目标选择器,用来匹配文档(页面)的url的某个标志符的目标元素。例:#parent:target{background:#ccc;}
:first-child选择器:表示的是选择父元素的第一个子元素的元素E。简单点理解就是选择元素中的第一个子元素,记住是子元素,而不是后代元素。
:last-child选择器:与“:first-child”选择器作用类似,不同的是“:last-child”选择器选择的是元素的最后一个子元素。
:nth-child(n)选择器:用来定位某个父元素的一个或多个特定的子元素。其中“n”是其参数,而且可以是整数值(1,2,3,4),也可以是表达式(2n+1、-n+5)和关键词(odd、even),但参数n的起始值始终是1,而不是0。也就是说,参数n的值为0时,选择器将选择不到任何匹配的元素。
经验与技巧当“:nth-child(n)”选择器中的n为一个表达式时,其中n是从0开始计算,当表达式的值为0或小于0的时候,不选择任何匹配的元素。如下表所示:在这里插入图片描述
:nth-last-child(n)选择器:和前面的“:nth-child(n)”选择器非常的相似,只是这里多了一个“last”,所起的作用和“:nth-child(n)”选择器有所区别,从某父元素的最后一个子元素开始计算,来选择特定的元素。
:only-child选择器:选择的是父元素中只有一个子元素,而且只有唯一的一个子元素。也就是说,匹配的元素的父元素中仅有一个子元素,而且是一个唯一的子元素。
注:nth会在所有的子元素中去排序查找第n个子元素,判断是不是前面指定的标签,如果是则样式起作用。
:first-of-type选择器:类似于“:first-child”选择器,不同之处就是指定了元素的类型,其主要用来定位一个父元素下的某个类型的第一个子元素。
:last-of-type选择器:和“:first-of-type”选择器功能是一样的,不同的是他选择是父元素下的某个类型的最后一个子元素。
:nth-of-type(n)选择器:和“:nth-child(n)”选择器非常类似,不同的是它只计算父元素中指定的某种类型的子元素。当某个元素中的子元素不单单是同一种类型的子元素时,使用“:nth-of-type(n)”选择器来定位于父元素中某种类型的子元素是非常方便和有用的。在“:nth-of-type(n)”选择器中的“n”和“:nth-child(n)”选择器中的“n”参数也一样,可以是具体的整数,也可以是表达式,还可以是关键词。
:nth-last-of-type(n)选择器:和“:nth-of-type(n)”选择器是一样的,选择父元素中指定的某种子元素类型,但它的起始方向是从最后一个子元素开始,而且它的使用方法类似于上节中介绍的“:nth-last-child(n)”选择器一样。
:only-of-type选择器:用来选择一个元素是它的父元素的唯一一个相同类型的子元素。这样说或许不太好理解,换一种说法。“:only-of-type”是表示一个元素他有很多个子元素,而其中只有一种类型的子元素是唯一的,使用“:only-of-type”选择器就可以选中这个元素中的唯一一个类型子元素。
注:type会在指定的标签子元素列表中去排序查找第n个子元素,如果有则样式起作用。

  • 元素状态伪类选择器

回顾CSS2中的伪类选择器。
:link选择器:设置 a 对象在未被访问前的样式。默认值由浏览器决定。 :visited选择器:设置 a 对象在其链接地址已被访问过时的样式。
:hover选择器:设置对象在其鼠标悬停时的样式。
:active选择器:设置对象在被激活(在鼠标点击与释放之间发生的事件)时的样式。
:focus选择器:设置对象获取焦点时的样式。
提示
对于无 href 属性(特性)的 a 对象,以上伪类不发生作用。
在 CSS 定义中,a:hover 必须置于 a:link 和 a:visited 之后,才是有效的。
在 CSS 定义中,a:active 必须置于 a:hover 之后,才是有效的。

元素状态伪类选择器:

:enabled选择器:在Web的表单中,有些表单元素有可用(“:enabled”)和不可用(“:disabled”)状态,比如输入框,密码框,复选框等。在默认情况之下,这些表单元素都处在可用状态。那么我们可以通过伪选择器“:enabled”对这些表单元素设置样式。
:disabled选择器:刚好与“:enabled”选择器相反,用来选择不可用表单元素。要正常使用“:disabled”选择器,需要在表单元素的HTML中设置“disabled”属性。
:checked选择器:在表单元素中,单选按钮和复选按钮都具有选中和未选中状态。(大家都知道,要覆写这两个按钮默认样式比较困难)。在CSS3中,我们可以通过状态选择器“:checked”配合其他标签实现自定义样式。而“:checked”表示的是选中状态。
:default选择器:用来指定当页面打开时默认处于选取状态的单选框或复选框控件的样式。需要注意的是,即使用户将该单选框或复选框控件的选取状态设定为非选取状态,E:default选择器中指定的样式仍然有效。(只支持firefox)
:indeterminate选择器:用来指定当页面打开时,一组单选框中没有任何一个单选框被设定为选取状态时整组单选框的样式,如果用户选取了其中任何一个单选框,则该样式被取消指定。(只支持oprea)
:read-only选择器:用来指定处于只读状态元素的样式。简单点理解就是,元素中设置了“readonly=’readonly’”。(火狐需要加-moz-前缀)
:read-write选择器:刚好与“:read-only”选择器相反,主要用来指定当元素处于非只读状态时的样式。(火狐需要加-moz-前缀)
::before和::after:这两个主要用来给元素的前面或后面插入内容,这两个常和“content”属性配合使用,使用的场景最多的就是清除浮动。
::selection伪元素:是用来匹配突出显示的文本(用鼠标选择文本时的文本)。浏览器默认情况下,用鼠标选择网页文本是以“深蓝的背景,白色的字体”显示的,效果如下图所示:
在这里插入图片描述
有的时候设计要求,不使用上图那种浏览器默认的突出文本效果,需要一个与众不同的效果,此时“::selection”伪元素就非常的实用。不过在Firefox浏览器还需要添加前缀。

  • 其它选择器

div>p :选择父元素为 < div > 元素的所有 < p > 元素。 div+p:选择紧接在 < div > 元素之后的所有 < p > 元素。
div~p :选择前面有 < div > 元素的每个 < p > 元素。 p:lang(it):选择带有以 “it” 开头的 lang 属性值的每个
< p > 元素。it必须是一个完整的单词,例如”it”、”it-is”。 p:first-line:选择每个 < p > 元素的首行。
p:first-letter:选择每个 < p > 元素的首字母。

  • 颜色之RGBA:

RGB是一种色彩标准,是由红®、绿(G)、蓝(B)的变化以及相互叠加来得到各式各样的颜色。RGBA是在RGB的基础上增加了控制alpha透明度的参数。

语法:color:rgba(R,G,B,A)

以上R、G、B三个参数,正整数值的取值范围为:0 - 255。百分数值的取值范围为:0.0% -
100.0%。超出范围的数值将被截至其最接近的取值极限。并非所有浏览器都支持使用百分数值。A为透明度参数,取值在0~1之间,不可为负值。
渐变色彩CSS3 Gradient 分为线性渐变(linear)和径向渐变(radial)。由于不同的渲染引擎实现渐变的语法不同,这里我们只针对线性渐变的 W3C 标准语法来分析其用法,其余大家可以查阅相关资料。W3C 语法已经得到了 IE10+、Firefox19.0+、Chrome26.0+ 和 Opera12.1+等浏览器的支持。
径向渐变background:-webkit-radial-gradient(50%, #ccc, #000);
在这里插入图片描述
渐变色彩参数
第一个参数:指定渐变方向,可以用“角度”的关键词或“英文”来表示。第一个参数省略时,默认为“180deg”,等同于“to bottom”。
在这里插入图片描述
第二个和第三个参数,表示颜色的起始点和结束点,可以有多个颜色值。

  • 文字和字体:

(1)text-overflow: text-overflow用来设置是否使用一个省略标记(…)标示对象内文本的溢出。
在这里插入图片描述
但是text-overflow只是用来说明文字溢出时用什么方式显示,要实现溢出时产生省略号的效果,还须定义强制文本在一行内显示(white-space:nowrap)及溢出内容为隐藏(overflow:hidden),只有这样才能实现溢出文本显示省略号的效果,代码如下:
text-overflow:ellipsis; overflow:hidden; white-space:nowrap;
(2)word-wrap:
word-wrap用来设置文本行为,当前行超过指定容器的边界时是否断开转行。
在这里插入图片描述
normal为浏览器默认值,break-word设置在长单词或 URL地址内部进行换行,此属性不常用,用浏览器默认值即可。
(3)嵌入字体@font-face
@font-face能够加载服务器端的字体文件,让浏览器端可以显示用户电脑里没有安装的字体。
在这里插入图片描述
这样设置之后,就可以像使用普通字体一样在(font-*)中设置字体样式。
(4)文本阴影text-shadow :
text-shadow可以用来设置文本的阴影效果。
在这里插入图片描述
X-Offset:表示阴影的水平偏移距离,其值为正值时阴影向右偏移,反之向左偏移;
Y-Offset:是指阴影的垂直偏移距离,如果其值是正值时,阴影向下偏移,反之向上偏移;
Blur:是指阴影的模糊程度,其值不能是负值,如果值越大,阴影越模糊,反之阴影越清晰,如果不需要阴影模糊可以将Blur值设置为0;
Color:是指阴影的颜色,其可以使用rgba色。

  • 与背景相关的样式:

(1)background-origin: 设置元素背景图片的原始起始位置。 在这里插入图片描述
参数分别表示背景图片是从边框,还是内边距(默认值),还是内容区域开始显示。
需要注意的是,如果背景不是no-repeat,这个属性无效,它会从边框开始显示。
在这里插入图片描述
(2)background-clip: 用来将背景图片做适当的裁剪以适应实际需要。 在这里插入图片描述
参数分别表示从边框、或内填充,或者内容区域向外裁剪背景。no-clip表示不裁切,和参数border-box显示同样的效果。backgroud-clip默认值为border-box。
在这里插入图片描述
(3)background-size: 设置背景图片的大小,以长度值或百分比显示,还可以通过cover和contain来对图片进行伸缩。
在这里插入图片描述
auto:默认值,不改变背景图片的原始高度和宽度;
<长度值>:成对出现如200px 50px,将背景图片宽高依次设置为前面两个值,当设置一个值时,将其作为图片宽度值来等比缩放;
<百分比>:0%~100%之间的任何值,将背景图片宽高依次设置为所在元素宽高乘以前面百分比得出的数值,当设置一个值时同上;
cover:覆盖,即将背景图片等比缩放以填满整个容器;
contain:容纳,即将背景图片等比缩放至某一边紧贴容器边缘为止。
(4)multiple backgrounds :
多重背景,也就是CSS2里background的属性外加origin、clip和size组成的新background的多次叠加,缩写时为用逗号隔开的每组值;用分解写法时,如果有多个背景图片,而其他属性只有一个(例如background-repeat只有一个),表明所有背景图片应用该属性值。
在这里插入图片描述

  • 边框:

(1)圆角效果border-radius
border-radius是向元素添加圆角边框。
使用方法:
border-radius:10px; //所有角都使用半径为10px的圆角
border-radius: 5px 4px 3px 2px; // 四个半径值分别是左上角、右上角、右下角和左下角,顺时针
不要以为border-radius的值只能用px单位,你还可以用百分比或者em,但兼容性目前还不太好。
(2)阴影 box-shadow
box-shadow是向盒子添加阴影。支持添加一个或者多个。
在这里插入图片描述
在这里插入图片描述
注意:inset 可以写在参数的第一个或最后一个,其它位置是无效的。
阴影 box-shadow:
为元素设置外阴影: box-shadow:4px 2px 6px #333333;
为元素设置内阴影: box-shadow:4px 2px 6px #333333 inset;
添加多个阴影:如果添加多个阴影,只需用逗号隔开即可。如:
box-shadow:4px 2px 6px #f00, -4px -2px 6px #000, 0px 0px 12px 5px #33CC00 inset;
阴影模糊半径与阴影扩展半径的区别
阴影模糊半径:此参数可选,其值只能是为正值,如果其值为0时,表示阴影不具有模糊效果,其值越大阴影的边缘就越模糊;
阴影扩展半径:此参数可选,其值可以是正负值,如果值为正,则整个阴影都延展扩大,反之值为负值时,则缩小;
:X轴偏移量和Y轴偏移量值可以设置为负数。
(3)边框应用图片 border-image :
一个矩形,有四个边框。如果应用了边框图片,图片该怎么分布呢? 图片会自动被切割分成四等分。用于四个边框。
可以理解为它是一个切片工具,会自动把用做边框的图片切割。怎么切割呢?为了方便理解,做了一张特殊的图片,由9个矩形(7070像素)拼成的一张图(210210像素),并标注好序号,就像传说中的九宫图,如下:
在这里插入图片描述
repeat参数:一直重复,然后超出部分剪裁掉,而且是居中开始重复。
round参数:可以理解为圆满的铺满。为了实现圆满所以会压缩(或拉伸)。
stretch参数:拉伸,有多长拉多长。
border-image:url(“url”) A B C D/border-width repeat
border-image 中必须至少指定5个参数:
第一个参数作为边框使用图像的路径,后4个参数表示当浏览器自动吧边框所使用到的图像进行分隔时的上边距,右边距,下边距,左边距。
border-width:表示边框的宽度。
注意:Chrome下,中间部分也会被拉伸,webkit浏览器对于round属性和repeat属性似乎没有区分,显示效果是一样的。Firefox 26.0 下是可以准确区分的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会撸串的傻狍子

感谢您的认可

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值