




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第11章CSS3目录选择器背景和边框文本效果多列布局用户界面2D/3D转换动画CSS3其他新特性属性选择器E[attr]:只使用属性名,但没有确定任何属性值;E[attr="value"]:指定属性名,并指定了该属性的属性值;E[attr~="value"]:指定属性名,并且具有属性值,此属性值是一个词列表,并且以空格隔开,其中词列表中包含了一个value词,而且等号前面的“〜”不能不写;E[attr^="value"]:指定了属性名,并且有属性值,属性值是以value开头的;E[attr$="value"]:指定了属性名,并且有属性值,而且属性值是以value结束的;E[attr*="value"]:指定了属性名,并且有属性值,而且属值中包含了value;E[attr|="value"]:指定了属性名,并且属性值是value或者以“value-”开头的值(比如说zh-cn);/*匹配表格中tr的偶数行*/tr:nth-child(even){background-color:#9CC;}/*匹配1、4、7、10、13......(步长为30)的列表项*/li:nth-child(3n+1){ font-weight:bold; background:none;} 结构伪类选择器E:first-child选择位于其父元素中第一个位置,且匹配E的子元素。E:last-child选择位于其父元素中最后一个位置,且匹配E的子元素。E:nth-child(n)选择所有在其父元素中第n个位置的匹配E的子元素。E:nth-last-child(n)选择所有在其父元素中倒数第n个位置的匹配E的子元素。E:nth-of-type(n)选择所有在其父元素中同类型第n个位置的匹配E的子素。E:nth-last-of-type(n)选择所有在其父元素中同类型倒数第n个位置的匹配E的子元素。E:first-of-type选择在其父元素中匹配E的第一个同类型的子元素。E:last-of-type选择在其父元素中匹配E的最后一个同类型的子元素。E:only-child选择其父元素只包含一个子元素且该子元素匹配E。E:only-of-type选择其父元素只包含一个同类型子元素,且该子元素匹配E。E:empty选择匹配E的元素,且该元素不包含子节点。UI伪类选择器UI伪类选择器,该类选择器的特征是:指定的样式只有当元素处于某种状态下才起作用E:hover。E:active。E:focus。E:enabled。E:disabled。E:read-only。E:read-write。E:checked。E:default。E:indeterminate。E:selection。/*匹配只读元素*/input:read-only{ width:30px;} /*匹配不可用元素*/input:disabled{ background:#dddurl(images/password1.gif)no-repeat2px2px; border:1pxsolid#fff; height:22px; border:1pxsolid#ccc;} 多色边框<styletype="text/css"> div{ height:100px; width:500px; border:60pxsolid; border-bottom-color:red; border-left-color:blue; border-right-color:yellow; border-top-color:green;
}</style>
边框背景<styletype="text/css">div{ width:500px; height:100px; border-width:20px; border-image:url(images/border1.jpg)20;} </style> 参数说明如下:none:默认值,表示边框无背景图。<image>:使用绝对或相对URL地址指定边框的背景图片。<number>:设置边框宽度或边框背景图片大小,单位像素。<percentage>:设置边框背景图像大小,单位百分比Border-image:none|<image>[<number>|<percentage>]圆角边框<styletype="text/css"> div{ width:500px; height:100px; border:15pxsolid#C96;
border-radius:30px;}</style>参数说明如下:
none:默认值,表示元素没有圆角。
<length>:长度值,不可为负数。border-radius:none|<length>[/<length>]为元素添加阴影效果,使用box-shadow属性。该属性值包含6个参数:阴影类型、X轴位移、Y轴位移、阴影大小、阴影扩展和阴影颜色box-shadow:5px5px20px#06C设置向右偏移5px,向下偏移5px,阴影大小20px,阴影颜色#06C;-5px-5px20px#CCCC99设置向左偏移5px,向上偏移5px,阴影大小20px,阴影颜色#CCCC99阴影效果<styletype="text/css"> img{
box-shadow: 5px5px20px#06C, -5px-5px20px#CCCC99;} </style>background-origin属性定义background-position属性的参考位置。默认情况下,background-position属性总是根据元素左上角为坐标原点进行定位背景图像,使用background-origin属性可以改变这种定位方式。border-box:从边框开始显示背景padding-box:从边框与内容之间的空白区域开始显示背景contect-box:从内容区域开始显示背景背景位置background-origin:padding-box|border-box|content-box;CSS3中可以在一个元素中同时显示多个背景图像,这使得背景图像的调整变得更加方便。多背景图片<!doctypehtml><html><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title>无标题文档</title><styletype="text/css"> div{ width:630px; height:480px; background:url(images/bg1.jpg)topleftno-repeat, url(images/bg2.png)bottomleftrepeat-x; }</style></head><body> <div></div></body></html>RGBA色彩模式是RGB色彩模式的扩展,在红、绿、蓝三原色的基础上增加了透明度参数其中,<opacity>表示透明度,取值在0~1之间,0表示全透明,1表示不透明。透明背景色rgba:(r,g,b,<opacity>);<styletype="text/css"> #div1{ width:400px; height:400px; background:url(images/bg1.jpg);} #div1div{ width:260px; height:300px; margin-left:15%; float:left; margin-top:9%; /*设置不透明度*/ background:rgba(255,255,255,0.6);}</style>在CSS3中,可以使用text-shadow属性给文字添加阴影效果。设置阴影的效果为:向右、向下分别偏移3px,阴影颜色为#333文本阴影<styletype="text/css"> p{ font:bold60px"TimesNewRoman",Times,serif; color:#999; text-align:center; /*设置阴影效果*/ text-shadow:3px3px#333; } </style>给文字同时设置了两次阴影效果,第一次向左、向上偏移1px并设置颜色为white,第二次向右、向下偏移1px并设置颜色为#333文字突起效果<styletype="text/css"> p{ font:60pxArial,Helvetica,sans-serif; color:#D1D1D1; text-align:center; background:#CCC; text-shadow:-1px-1pxwhite,1px1px#333; }</style>阴影效果颠倒,则会有凹下效果:第一次向左、向上偏移1px并设置颜色为#333,第二次向右、向下偏移1px并设置颜色为white文字凹下效果<styletype="text/css"> p{ font:60pxArial,Helvetica,sans-serif; color:#D1D1D1; text-align:center; background:#CCC; text-shadow:-1px-1px#333,1px1pxwhite; }</style>文字样式<styletype="text/css"> div{ margin:0auto; width:400px; font:18px楷体; background:#CCC; /*首行缩进*/ text-indent:2em; /*文字换行设置*/ word-break:break-all; /*文字对齐方式*/ text-align:justify; } </style>文字溢出<styletype="text/css"> dd{ width:200px; font-size:12px; font-family:"PalatinoLinotype","BookAntiqua",Palatino,serif; padding-top:5px; margin-left:0px; /*不允许换行*/ white-space:nowrap; /*超出部分隐藏*/ overflow:hidden; /*设置省略标记*/ text-overflow:ellipsis;
}</style>columns属性可以进行多列布局:column-width:定义每列的宽度。 column-count:定义列数。column-gap属性用于定义两栏之间的间距。column-rule属性拥有设置栏之间的边框样式<length>:定义边框宽度。<style>:定义边框样式。<color>:定义边框颜色。 <transparent>:定义边框透明度。column-span属性可以设置跨列显示多列布局columns:<column-width>||<column-count>;column-gap:length|normal;column-rule:<length>|<style>|<color>|<transparent>;column-span:1|all;示例多列布局<styletype="text/css"> body{ /*设置栏宽度及栏数*/ -webkit-columns:300px3; columns:300px3; /*列间距*/ -webkit-column-gap:3em; /*定义分割线样式*/ -webkit-column-rule:2pxdashedgray;
line-height:2em; font-family:楷体; } h1{ text-align:center; /*横跨所有列*/ -webkit-column-span:all; } </style>CSS3之前,符合标准的浏览器中元素width或height属性只包括content部分,而IE5浏览器中元素的width和height属性则包括border+padding+content三部分。CSS3利用盒模式进行了完善,通过设置box-sizing属性,可以设置不同的盒模型模式content-box:元素的属性width/height代表content的宽和高。border-box:元素的属性width/heigh代表border+padding+content的宽和高。inherit:继承父元素box-sizing属性的值。盒模型方式box-sizing:content-box|border-box|inherit;盒模型方式<styletype="text/css"> div{ width:300px; height:400px; background:#996; padding:40px; /*border-box使得元素的宽和高不变,只是内容位置发生变化*/ -webkit-box-sizing:border-box; -moz-box-sizing:border-box;}</style>CSS3中新增了resize属性,他运行通过拖动的方式改变元素的大小,而在之前如果要实现这种效果,通常需要使用javascript脚本。参数说明如下:none:不支持尺寸调整。both:运行用户调整宽度和高度。horizontal:运行用户调整宽度。vertical:运行用户调整高度。inherit:默认继承。调节元素尺寸resize:none|both|horizontal|vertical|inherit;调节元素尺寸<styletype="text/css"> div{ width:200px; height:100px; border:1pxsolid#09F; background:url(images/121.jpg)no-repeatcenter; /*必须同时定义overflow和resize,否则resize无效*/ resize:both; overflow:auto; }</style>content属性可以替换文本内容以及替换文本属性,在CSS3之前,一般采用JavaScript脚本来实现这种任务。该语法参数解释如下:
normal:默认值。
string:插入文本。
attr():插入属性。url():插入一个外部资源,如图像、音视频等。
counter():计数器,用于插入排序标识。
none:无内容。控制显示内容content:normal|string|attr()|uri()|counter()|none;控制显示内容<!doctypehtml><html><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title>无标题文档</title><styletype="text/css"> div{ content:url(images/002.jpg); } </style></head><body><div>无边落木萧萧下,不尽长江滚滚来。</div></body></html>在CSS3中,可以利用initial属性值取消对元素的样式指定恢复默认样式<!doctypehtml><html><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title>无标题文档</title><styletype="text/css"> div{ font-family:华文行楷; font-weight:bold; font-size:25px; color:green; } div#div2{ font-weight:initial; color:initial; font-size:initial; }</style></head><body> <divid="div1">曾经沧海难为水,除却巫山不是云。</div><divid="div2">我自横刀向天笑,去留肝胆两昆仑。</div><divid="div3">人生自古谁无死,留取丹心照汗青。</div></html>利用transform属性可以实现文字或图像的旋转、缩放、倾斜、移动等几种效果。translate():移动元素,基于X和Y坐标重新定位元素。scale():缩放元素,取值包括正数、负数、小数。rotate():旋转元素,取值为一个度数。skew():倾斜元素,取值为一个度数。matrix():定义矩阵变换,基于X和Y坐标重新定位元素。2D转换transform:none|<transform-function>;rotate()函数可以实现元素的旋转。scale()函数可以缩放元素大小,该参数包括两个参数值,分别用了定义宽和高缩放比例其中<number>参数值可以是正数、负数和小数。正数值将放大元素,负数值不会缩小元素,而会翻转元素,小数可以缩小元素。如果第二个参数省略,则第二个参数等于第一个参数值。2D转换rotate(<angle>);scale(<number>[,<number>]);2D转换<styletype="text/css"> div{ width:300px; height:200px; margin:0auto; background:url(images/002.jpg)no-repeat; background-size:cover; position:absolute; top:50%; left:50%; margin-left:-150px; margin-top:-100px; /*定义动画变换持续0.5秒加速*/ -webkit-transition-duration:.5s; -webkit-transition-timing-function:ease-in; } div:hover{ /*鼠标移上旋转120度并拉伸2倍*/ -webkit-transform:rotate(120deg)scale(2); } </style>translate()函数可以重新定位元素的坐标,该函数包括两个参数值,分别用来表示X轴和Y轴。其中如果省略了第二个参数,则第二个参数默认值为0。skew()函数实现元素的倾斜,包含两个参数,分别用来定义X轴和Y轴的坐标倾斜角度。其中如果省略了第二个参数,则第二个参数默认值为0。2D转换translate(<translation-value>[,<translation-value>])<styletype="text/css"> /*偶数元素移上下移20像素*/ ul#topli:nth-child(even):hover{ -webkit-transform:translate(0,20px); } /*第一个元素在X轴倾斜20度*/ ul#topli:nth-child(1){ -webkit-transform:skewX(20deg); } ul#topli:last-child{ -webkit-transform:skewY(30deg); }</style>skew(<angle>[,<angle>])matrix()是矩阵函数,他把所有2D转换方法组合在一起。matrix()函数包括6个参数(a、b、c、d、e和f),使用matrix()可以灵活的实现元素缩放、旋转、倾斜以及偏移。div2比例1:1,大小不变,偏移40像素后倾斜30度2D转换matrix(a,b,c,d,e,f)<style> div#div2 { z-index:2; background-color:#9CC;//使用matrix()函数
transform:matrix(1,0.5,-0.5,1,40,40); } </style>transtion属性呈现的是一种过渡,一种动画转换过程,例如渐现、渐弱、动画快慢等效果。transition-property:用来定义转换动画的CSS属性。
transiton-duration:用来定义转换动画的时间长度。
transtion-delay:用来定义转换动画的延迟时间。
transtion-timing-function:用来定义过渡动画的效果。平滑过渡ulliimg{ width:50px; height:50px; border:1pxsolid#9CC; border-radius:25px; /*动画过渡0.2秒并呈线性过渡*/ transition:0.2slinear;}
ulliimg:hover{ margin-left:7px; margin-right:7px; transform-origin:centerbottom; transform:scale(1.5);}在CSS3中还可以使用animations功能实现更为复杂的动画效果。animations属性与transition属性很相似。animation-name:用来定义动画的名称。
animation-duration:定义动画的播放时间。
animation-timing-function:定义动画的播放方式。
animation-delay:定义动画的延迟时间。
amimation-iteration-count:定义动画的播放次数。动画效果动画效果<styletype="text/css"> div{ width:385px; height:133px; margin:0auto; background:url(images/002.jpg)centerno-repeat; -webkit-transition-style:preserve-3d; /*设计沿y轴旋转、20秒线性过渡、无限次循环*/ -webkit-animation-name:y-spin; -webkit-animation-duration:20s; -webkit-animation-iteration-count:infinite; -webkit-animation-timing-function:linear; } /*调用动画*/ @-webkit-keyframesy-spin{ 0%{ -webkit-transform:rotateY(0deg); } 50%{ -webkit-transform:rotateY(180deg); } 100%{ -webkit-transform:rotateY(360deg); } } </style>CSS渐变的只有基于Webkit和Gecko引擎的浏览器,而且不同引擎实现渐变的语法也不同,。Webkit引擎支持的渐变语法如下。其参数说明如下:
<type>:定义渐变类型。包括线性渐变(liner)和径向渐变(radial)。
<point>:定义渐变起始点和结束点坐标。该参数支持数值、百分百和关键字。关键字包括top、bottom、left、right。
<radius>:用来设置径向渐变的长度。
<step>:定义渐变色和步长。包括3个类型值,即开始的颜色,使用from(colorvalue)函数定义;结束的颜色
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年中国多功能汽车电喷嘴电脑检测仪数据监测研究报告
- 2025至2030年中国五星水壶数据监测研究报告
- 统编版三年级语文下册期中达标测试卷(含答案)
- 吉林省长春市榆树市2024-2025学年九年级上学期期末化学试题(含答案)
- 园林施工员试题及答案
- 2025年消防设施操作员之消防设备中级技能每日一练试卷A卷含答案
- 2025年消防设施操作员之消防设备基础知识通关提分题库(考点梳理)
- 2020年辽宁省沈阳市中考地理试卷(含答案)
- 2025年天津市专业技术人员公需考试试题-全面推动经济与民生领域改革推动中国经济高质量发展
- 高等教育自学考试《00074中央银行概论》模拟试卷二
- 2024年社区工作者考试必背1000题题库必背(必刷)
- 教育改革与发展
- 《形体训练》课件-勾绷脚训练
- 医疗器械(耗材)项目投标服务实施投标方案(技术方案)
- 现代企业车间管理全套教学课件
- 焊接基础知识:焊接的缺陷及检验方法
- 加油站节前安全教育培训
- 信访调解协议书模板
- 生产工艺的标准化流程与规范化管理
- 铁路转辙机 ZDJ9型电动转辙机认知
- 【我国新能源汽车产业发展分析文献综述5800字】
评论
0/150
提交评论