|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
最新版本html5+CSS3与2014年10月29日,万维网联盟宣布,经过几乎8年的艰辛努力,该标准规范终于最终制定完成。
网页制造poluoluo文章简介:使用丰厚的CSS3特征和古代扫瞄器中可用的工具.
级联款式表在13年前被引进,并且被普遍利用的CSS2.1尺度在11年前被创立,明显我们如今已与昔时相差千里了。相称了不得的是时代网站开辟有了几前进——现实上,我们也没法设想。
为何会如许呢,当提到CSS的时分,已往我们是云云的不宁愿和惧怕实验?为何我们还要利用厌恶的hack和依附JavaScript的手艺来写款式?为何我们不克不及使用丰厚的CSS3特征和古代扫瞄器中可用的工具并将我们的计划品德带到下一个品级?
是时分在我们的项目中引进CSS3特征了,不必惧怕渐渐在我们的款式表中到场css3特征和选择器会出成绩。让我们的客户意想到CSS3的上风(并且让旧扫瞄器更快的消散)是我们力所能及的事变——我们应当如许做,出格是在它可以让网站加倍天真并削减开辟和保护本钱的时分。
在本文中,破洛洛将研讨CSS3的上风,并看一下一些网页计划师是怎样利用它们的。最初,我们将懂得到从CSS3中我们能失掉甚么和我们怎样在我们的项目中利用它的新特征。
同时请参考我们之前的一篇相干文章:
利用扫瞄器专有属性
为了利用年夜部分CSS3特征,我们不能不与本来的属性一同利用临盆商专有扩大。缘故原由是直到如今,年夜部分扫瞄器只撑持部分CSS3属性。并且不幸的是,一些属性乃至到最初都大概不被W3C保举,以是经由过程指定扫瞄器专有属性,将他们与尺度属性辨别开来是很主要的(然后在他们是过剩的的时分利用切合尺度的款式将之掩盖)。
固然,这类办法的优势是,将招致一个混乱的款式表和网站在扫瞄器之间的体现纷歧致。究竟,我们不想在我们的款式表中重拾公有扫瞄器hack的需求。InternetExplorer的臭名远扬的marquee、blink和别的标签在大批款式表中被使用,并在20世纪九十年月成为一个传奇;它们仍然让现存的良多网站(在其他扫瞄器中)体现纷歧致乃至难以浏览。而我们如今也不想将我们本人置于一样的地步,对吧?
但是,网站不必要在一切的扫瞄器中看起来必需严厉的分歧。有的时分在某个扫瞄器中利用公有属性来完成特定的效果是可行的。
最多见的公有属性是用于Webkit中心扫瞄器的(好比,Safari),它们以-webkit-入手下手,和Gecko中心的扫瞄器(好比,Firefox),以-moz-入手下手,另有Konqueror(-khtml-)、Opera(-o-)和InternetExplorer(-ms-)都有它们本人的属性扩大(今朝只要IE8撑持-ms-前缀)
作为专业的计划师,我们不能不注重:利用这些公有属性将让我们的款式表不克不及经由过程考证。以是今朝将他们放到终极版的款式中是少见的。可是在某种情形下,好比实验或进修,我们最少能够思索将他们和尺度的CSS属性一同写到一个款式表中。
扩大浏览
- Vendor-specificextensionsandW3C
- Vendor-specificextensionstoCSS3
- Vendor-specificproperties
1.选择器
CSS选择器是个难以相信地壮大的工具:它们同意我们在标签中指定特定的HTML元素而不用利用过剩的class、ID或JavaScripts。并且它们中的年夜部分并非CSS3中新增加的,而是没有被失掉应有的普遍使用。假如你在实验完成一个洁净的、轻量级的标签和布局与体现更好的分别,初级选择器长短常有效的。它们能够削减在标签中的class和ID的数目并让计划师更便利的保护款式表。
属性选择器
三个新的属性选择器被增加到CSS3:
- [att^="value"]
婚配包括以特定的值开首的属性的元素
- [att$="value"]
婚配包括以特定的值开头的属性的元素
- [att*="value"]
婚配包括含有特定的值的属性的元素
tweetCC利用一个属性选择器来指定有title属性并以字符“tweetCC”开头的链接:- a[title$="tweetCC"]{position:absolute;top:0;right:0;display:block;width:140px;height:140px;text-indent:-9999px;}
复制代码 扫瞄器撑持:只要IE6不撑持CSS的属性选择器。IE7和IE8、Opera、Webkit中心和Gecko中心的扫瞄器都撑持。以是在你的款式中利用属性选择器是对照平安的。
连字符
CSS3中独一新引进的连字符是通用的兄弟选择器(同级)。它针对一个元素的有统一个父级节点的一切兄弟级别元素。
好比,给某个特定的div的同级的图片增加一个灰色的边框(div和图片应当有统一个父级节点),在款式表中界说上面的款式就充足了:- div~img{border:1pxsolid#ccc;}
复制代码 扫瞄器撑持:一切的次要扫瞄器都撑持这个通用的兄弟选择器除我们最爱的IE6!
伪类
也许在CSS3中增添最多的就是新的伪类了,这里是一些最风趣和最有效的:
- :nth-child(n)
让你基于元素在父节点的子元素的列表地位来指定元素。你能够是用数字、数字表达式或odd和even关头词(对斑马款式的列表很完善)。以是假如你想婚配在第四个元素以后的一个3个元素的分组,你能够复杂的如许利用:- :nth-child(3n+4){background-color:#ccc;}/*婚配第4,7,10,13,16,19...个元素*/
复制代码 - :nth-last-child(n)
与上个选择器的头脑一样,可是从前面婚配元素(倒序),好比,为了指定一个div内里的最初两个段落,我们可使用上面的选择器:- divp:nth-last-child(-n+2)
复制代码 - :last-child
婚配一个父节点下的最初一个子元素,同等于 - :checked
婚配选择的元素,好比复选框
- :empty
婚配空元素(没有子元素)。
- :not(s)
婚配一切不切合指定声明(s)的元素。好比,假如你想让一切的没有利用”lead”类的段落的显现为玄色,能够如许写:- p:not([class*="lead"]){color:black;}
复制代码 .
AndreaGandino在他的网站上利用:last-child为选择器指定每篇日记的最初一个段落,并将其的外间距(margin)设置为0:
- #primary.textp:last-child{margin:0;}
复制代码 扫瞄器撑持:Webkit中心和Opera扫瞄器撑持一切新的CSS3伪类,Firefox2和3(Gecko中心)只撑持:not(s),:last-child,
nly-child,:root,:empty,:target,:checked,:enabled和:disabled,可是Firefox3.5将加倍普遍的撑持CSS3选择器。Trident中心扫瞄器(InternetExplorer)现实上不撑持这些伪选择器。
伪元素
在CSS3中独一引进的伪元素是::selection.它可让你指定被用户高亮(选中)的元素。
扫瞄器撑持:今朝没有任何一款InternetExplorer或Firefox扫瞄器撑持::selection伪元素。Safari,Opera和Chrome均撑持。
如果单独使用DIV而不加任何CSS,那么它在网页中的效果和使用是一样的。 |
|