• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > H5和CSS3组合使用的实例教程

H5和CSS3组合使用的实例教程

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含HTML5,CSS3等相关知识,匿名希望在学习及工作中可以帮助到您
现在,HTML5和CSS3正跃跃欲试的等待大家,下面让我们来看看他们是否真的能让我们的设计提升到下一个高度吧

Web设计师可以使用HTML4和CSS2.1完成一些很酷的东西。我们可以在不使用陈旧的基于table布局的基础上完成文档逻辑结构并创建内容丰富的网站。我们可以在不使用内联<font>和<br>标签的基础上对网站添加漂亮而细腻的风格样式。事实上,我们目前的设计能力已经让我们远离了那个可怕的浏览器战争时代、专有协议和那些充满闪动、滚动和闪烁的丑陋网页。

虽然我们现在已经普遍使用了HTML4和 CSS2.1,但是我们还可以做得更好!我们可以重组我们代码的结构并能让我们的页面代码更富有语义化特性。我们可以缩减带给页面美丽外观样式代码量并让他们有更高的可扩展性。现在,HTML5和CSS3正跃跃欲试的等待大家,下面让我们来看看他们是否真的能让我们的设计提升到下一个高度吧…

曾经,设计师们经常会跟频繁使用基于table的没有任何语义的布局。不过最终还是要感谢像Jeffrey Zeldman和Eric Meyer这样的思想革新者,聪明的设计师们慢慢的接受了相对更语义化的<p>布局替代了table布局,并且开始调用外部样式表。但不幸的是,复杂的网页设计需要大量不同的标签结构代码,我们把它叫做“<p>-soup” 综合症。也许你很熟悉下面的代码: <p id="news">

代码如下:

 <p class="section"> 
      <p class="article"> 
        <p class="header"> 
            <h1>p Soup Demonstration</h1> 
            <p>Posted on July 11th, 2009</p> 
        </p> 
        <p class="content"> 
            <p>Lorem ipsum text blah blah blah.</p> 
            <p>Lorem ipsum text blah blah blah.</p> 
            <p>Lorem ipsum text blah blah blah.</p> 
        </p> 
        <p class="footer"> 
            <p>Tags: HMTL, code, demo</p> 
        </p> 
      </p> 
      <p class="aside"> 
        <p class="header"> 
            <h1>Tangential Information</h1> 
        </p> 
        <p class="content"> 
            <p>Lorem ipsum text blah blah blah.</p> 
            <p>Lorem ipsum text blah blah blah.</p> 
            <p>Lorem ipsum text blah blah blah.</p> 
        </p> 
        <p class="footer"> 
            <p>Tags: HMTL, code, demo</p> 
        </p> 
      </p> 
  </p> 
</p>

尽管这有些勉强,但上面这个实例还是可以说明使用HTML4对一个复杂的设计进行代码化后依然过于臃肿(其实xHTML1.1也不过如此)。不过值得激动的是,HTML5解决“<p>-soup” 综合症并带给我们一套新的结构化元素。这些新的HTML5元素富有更细致的语义从而代替了那些毫无语义的<p>标签,并同时为CSS的调用提供了”自然”的CSS钩子。

下面是 HTML5的解决方案实例: <section>

代码如下:

<section> 
      <article> 
        <header> 
            <h1>p Soup Demonstration</h1> 
            <p>Posted on July 11th, 2009</p> 
        </header> 
        <section> 
            <p>Lorem ipsum text blah blah blah.</p> 
            <p>Lorem ipsum text blah blah blah.</p> 
            <p>Lorem ipsum text blah blah blah.</p> 
        </section> 
        <footer> 
            <p>Tags: HMTL, code, demo</p> 
        </footer> 
      </article> 
      <aside> 
        <header> 
            <h1>Tangential Information</h1> 
        </header> 
        <section> 
            <p>Lorem ipsum text blah blah blah.</p> 
            <p>Lorem ipsum text blah blah blah.</p> 
            <p>Lorem ipsum text blah blah blah.</p> 
        </section> 
        <footer> 
            <p>Tags: HMTL, code, demo</p> 
        </footer> 
      </aside> 
  </section> 
</section>

正如我们所见,HTML5可以让我们用很多更语义化的结构化代码标签代替那些大量的无意义的<p>标签。这种语义化的特性不仅提升了我们网页的质量和语义,并且大量减少了曾经代码中用于CSS必须调用的class和id属性。事实上,CSS3也是可以然通过我们忽略掉所有class和id 的。

跟class属性说再见,欢迎整洁的标签  

结合了富有新的语义化标记的HTML5,CSS3为web设计师们的网页提供了神一般的力量。有了HTML5的能量,我们将得到更多的对文档代码的控制权,有了CSS3的能量,我们的控制权将趋于无穷大!

  即使没有那些高级的CSS选择器,我们仍然可以通过强大的HTML5条调用不同的容器而不劳驾class和id这类属性。像以往的p布局,我们在css中可能要这样调用: p#news {}

代码如下:

p.section {} 
p.article {} 
p.header  {} 
p.content {} 
p.footer  {} 
p.aside  {}

我们再来看看基于HTML5的实例: section {}

代码如下:

article {} 
header  {} 
footer  {} 
aside  {}


这是个进步,但仍有一些问题需要解决。在<p>实例中,我们需要通过class或id属性来调用页面中的元素。这种逻辑将允许我们将样式应用到文档中的任何一个元素上,无论是整体还是个体。例如在<p>实例中,.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元素的定位吧:

定位最外层的<section>元素

  考虑到我们的例子并不是一套完整的HTML5代码,所以我们假定在<body>元素下有个<nav>元素与<section>元素是兄弟元素。这样的话,我们就可以向下面代码那样定位最外层的
<section>了:

代码如下:

body nav+section {}

定位下一个<section>元素

作为最外层<section>元素下的唯一直属子集元素,这个<section>元素也许可以这样定位:

代码如下:

section>section {}

定位<article>元素

可以定位<article>元素的方法有很多,不过最简单的方法当然就是后代选择器了:

代码如下:

section section article {}

定位<header>、<section> 和<footer>元素

这三个元素分别在两个地方都出现过,一是在<article>元素中出现,另一是在<aside>元素中出现。这种差别能让我们轻松定位每个元素。

代码如下:

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”这样的属性,但这就与我们练习的意图相冲突了(再加上它没有一点乐趣所在)。使用”子字符串匹配选择器”,我们就可以像下面这样定位所有日志和它们的不同元素了。

代码如下:

article[id*=post-] {}          /* 定位所有日志 */ 
article[id*=post-] header h1 {} /* 定位所有日志中的h1标签 */ 
article[id*=post-] section p {} /*
  


 

您可能想查找下面的文章:

  • HTML5知识点总结
  • HTML5的本地存储
  • HTML5本地存储之IndexedDB
  • Html5实现文件异步上传功能
  • Html5新标签datalist实现输入框与后台数据库数据的动态匹配
  • 详解HTML5 window.postMessage与跨域
  • HTML5拖放API实现拖放排序的实例代码
  • 解决html5中video标签无法播放mp4问题的办法
  • HTML5新特性 多线程(Worker SharedWorker)
  • Html5新增标签有哪些

相关文章

  • 2018-12-03HTML5实战与剖析之WebSockets简介
  • 2018-12-03如何将 HTML5 性能发挥到极致
  • 2018-12-03HTML5编程之旅-Communication技术初探
  • 2018-12-03HTML5 WebSocket点对点聊天实现方法
  • 2018-12-03如何评价《吴亦凡即将入伍?!》的H5营销?
  • 2018-12-03使用jTopo给Html5 Canva中绘制的元素添加鼠标事件_html5教程技巧
  • 2018-12-03HTML5中MessageEvent以及SSE的规范
  • 2017-08-06html5使用canvas画空心圆与实心圆
  • 2018-12-03H5移动端各种各样的列表的制作方法(二)
  • 2018-12-03HTML5 WebG 的3D网络拓扑结构图

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 如何解决HTML5微信播放全屏问题的方法
    • css3+javascript怎么做一个旋转的3d盒子?
    • HTML5与Qt QML仅从做UI的角度比较,哪个更便捷,哪个更强大,哪个(被渲染)性能更高呢?
    • HTML5 input元素类型:email及url介绍_html5教程技巧
    • Html5插件教程之添加浏览器放大镜效果的商品橱窗
    • 使用jquery实现HTML5响应式导航菜单教程_html5教程技巧
    • HTML5每日一练之Canvas标签的应用-绘制线性渐变图形
    • H5的之sse服务器发送事件EventSource详解
    • HTML5的本地存储IndexedDB
    • HTML5学习笔记之html5与传统html区别 _html5教程技巧

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有