




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
HTML5、CSS3应用教程之 跟DIV说Bey!Bey!Web设计师可以使用HTML4和CSS2.1完成一些很酷的东西。我们可以在不使用陈旧的基于table布局的基础上完成文档逻辑结构并创建内容丰富的网站。我们可以在不使用内联和标签的基础上对网站添加漂亮而细腻的风格样式。事实上,我们目前的设计能力已经让我们远离了那个可怕的浏览器战争时代、专有协议和那些充满闪动、滚动和闪烁的丑陋网页。虽然我们现在已经普遍使用了HTML4和CSS2.1,但是我们还可以做得更好!我们可以重组我们代码的结构并能让我们的页面代码更富有语义化特性。我们可以缩减带给页面美丽外观样式代码量并让他们有更高的可扩展性。现在,HTML5和CSS3正跃跃欲试的等待大家,下面让我们来看看他们是否真的能让我们的设计提升到下一个高度吧曾 经,设计师们经常会跟频繁使用基于table的没有任何语义的布局。不过最终还是要感谢像Jeffrey Zeldman和Eric Meyer这样的思想革新者,聪明的设计师们慢慢的接受了相对更语义化的布局替代了table布局,并且开始调用外部样式表。但不 幸的是,复杂的网页设计需要大量不同的标签结构代码,我们把它叫做“-soup” 综合症。也许你很熟悉下面的代码: Div Soup Demonstration Posted on July 11th, 2009 Lorem ipsum text blah blah blah. Lorem ipsum text blah blah blah. Lorem ipsum text blah blah blah. Tags: HMTL, code, demo Tangential Information Lorem ipsum text blah blah blah. Lorem ipsum text blah blah blah. Lorem ipsum text blah blah blah. Tags: HMTL, code, demo 尽 管这有些勉强,但上面这个实例还是可以说明使用HTML4对一个复杂的设计进行代码化后依然过于臃肿(其实xHTML1.1也不过如此)。不过值得激动的 是,HTML5解决“-soup” 综合症并带给我们一套新的结构化元素。这些新的HTML5元素富有更细致的语义从而代替了那些毫无语义的标签,并同时为CSS的调 用提供了”自然”的CSS钩子。下面是HTML5的解决方案实例: Div Soup Demonstration Posted on July 11th, 2009 Lorem ipsum text blah blah blah. Lorem ipsum text blah blah blah. Lorem ipsum text blah blah blah. Tags: HMTL, code, demo Tangential Information Lorem ipsum text blah blah blah. Lorem ipsum text blah blah blah. Lorem ipsum text blah blah blah. Tags: HMTL, code, demo 正如我们所见,HTML5可以让我们用很多更语义化的结构化代码标签代替那些大量的无意义的标签。这种语义化的特性不仅提升了我们 网页的质量和语义,并且大量减少了曾经代码中用于CSS必须调用的class和id属性。事实上,CSS3也是可以然通过我们忽略掉所有class和id 的。跟class属性说再见,欢迎整洁的标签 结合了富有新的语义化标记的HTML5,CSS3为web设计师们的网页提供了神一般的力量。有了HTML5的能量,我们将得到更多的对文档代码的控制权,有了CSS3的能量,我们的控制权将趋于无穷大!即使没有那些高级的CSS选择器,我们仍然可以通过强大的HTML5条调用不同的容器而不劳驾class和id这类属性。像以往的DIV布局,我们在css中可能要这样调用:div#news div.section div.article div.header div.content div.footer div.aside 我们再来看看基于HTML5的实例:section article header footer aside 这 是个进步,但仍有一些问题需要解决。在实例中,我们需要通过class或id属性来调用页面中的元素。这种逻辑将允许我们将样式应 用到文档中的任何一个元素上,无论是整体还是个体。例如在实例中,.section 和 .content元素很容易定位。但是在HTML5实例中,实际文档中会有很多个section元素。其实我们可以添加一些特定的属性选择器来调用那些不 同的section元素,不过谢天谢地,我没现在可以用少量的高级CSS选择器来定位不同的section元素。不使用class和id定位HTML-5元素下面让我们来看看如何在不使用class和id的情况下定位HTML5页面元素的一个实例,我们可以使用三种CSS选择器来定位和辨别实例中的元素。如下:后代选择器:CSS 2.1: EF兄弟选择器:CSS 2.1: E + F子元素选择器:CSS 2.1: E F 下面让我们来看看如何不使用class和id而完成对文档中的那些section元素的定位吧:定位最外层的元素考虑到我们的例子并不是一套完整的HTML5代码,所以我们假定在元素下有个元素与元素是兄弟元素。这样的话,我们就可以向下面代码那样定位最外层的了:body nav+section 定位下一个元素作为最外层元素下的唯一直属子集元素,这个元素也许可以这样定位:sectionsection 定位元素可以定位元素的方法有很多,不过最简单的方法当然就是后代选择器了:section section article 定位、和元素这三个元素分别在两个地方都出现过,一是在元素中出现,另一是在元素中出现。这种差别能让我们轻松定位每个元素。article header article section article footer 或者一起定义:section section header section section section section section footer 到目前为止,我们已经使用CSS2.1选择器排除掉了所有的class和id。那么我们为什么还需要使用CSS3呢?我很高兴你能这么问使用CSS3对HTML5元素进行高级定位虽然我们已经使用CSS2.1选择器排除掉了所有的class和id,显然还会有很多更复杂的情况需要CSS3的高级选择器来解决。让我们通过完成一下的实例来了解一下如何在不使用无用的class和id属性的情况下利用CSS3定位页面元素。使用一个唯一的日志(post)ID定位所有日志 wordpress提供给我们一种包含了ID的每篇日志的源代码输出。这种信息通常用于导航和/或了解资料的意图,不过CSS3可以利用这些唯一的ID 来定义这些日志的样式。当然,你还可以像往常那样为每篇日志添加class=”post”这样的属性,但这就与我们练习的意图相冲突了(再加上它没有一点 乐趣所在)。使用”子字符串匹配选择器”,我们就可以像下面这样定位所有日志和它们的不同元素了。articleid*=post- /* 定位所有日志 */ articleid*=post- header h1 /* 定位所有日志中的h1标签 */ articleid*=post- section p /* 定位所有日志中的p标签 */我们仍然可以使用同样的方式定位评论的元素和它们的子元素。articleid*=comment- /* 定位所有评论 */ articleid*=comment- header h1 /* 定位所有评论中的h1标签 */ articleid*=comment- section p /* 定位所有评论中的p标签 */ 定位一些指定的区域(section)或文章(article) 有很多博客的日志量和评论量都相当大,HTML 5 会将它们由或元素组成。为了定位哪些指定的 或元素,我们就要转而使用强大的“:nth-child”选择器了:section:nth-child(1) /* 选择第一个 */ article:nth-child(1) /* 选择第一个 */ section:nth-child(2) /* 选择第二个 */ article:nth-child(2) /* 选择第二个 */同样,我们可以使用“:nth-last-child”选择器定位反序的一些元素。section:nth-last-child(1) /* 选择最后一个 */ article:nth-last-child(1) /* 选择最后一个 */ section:nth-last-child(2) /* 选择倒数第二个 */ article:nth-last-child(2) /* 选择倒数第二个 */ 使用更多的方式选择指定元素 另一种选择HTML5中指定元素(如header、section和footer)的方法就是利用”:only-of-type”选择器的优势。由于这 些HTML5元素通常会在很多地方出现不止一次,所以当我们想定位那种在父元素下仅出现过一次的标签时这种方法很方便。例如,我们要选择的是在某元素中有切仅有的唯一一个元素,如以下代码: 定位这个section元素 定位这个section元素 但不定位这个section元素 和这个section元素 我们可以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度二手房购房合同-智能家居系统升级带产权车位赠送家具家电版
- 二零二五年度抵押租赁合同-农业设施使用权租赁协议
- 2025版婚宴婚礼策划与执行服务合同
- 潮汕消防知识培训课件
- 二零二五年度消防设施安装与改造合同
- 2025版知识产权保险代理服务合同
- 二零二五年度股权质押贷款合同标准范本
- 二零二五年淋浴房产品研发设计合同
- 二零二五年度新型吊篮租赁与维护保养合同
- 岩爆防治知识培训内容总结
- 【高质量】如何进行有效的校本研修PPT文档
- 水工闸门课件
- 水泥生产企业生产安全事故综合应急预案
- 全自动血液细胞分析仪产品技术要求深圳迈瑞
- 找对英语学习方法的第一本书
- 安徽涵丰科技有限公司年产6000吨磷酸酯阻燃剂DOPO、4800吨磷酸酯阻燃剂DOPO衍生品、12000吨副产品盐酸、38000吨聚合氯化铝、20000吨固化剂项目环境影响报告书
- 《诺丁山》经典台词
- 对铁路机车乘务员规章培训的探讨与实践
- 临床医学实验室 仪器设备一览表格模板
- 《绿色建筑》绿色建筑与建筑节能课件
- 二级生物安全实验室备案登记申请表(模板)
评论
0/150
提交评论