用 CSS 替代 HTML 的 table tag 设计网页版面

用 CSS 替代 HTML 的 table tag 设计网页版面

版工之前就耳闻 CSS 功能强大,可完全取代 HTML 的 table、tr、td 等 tag,做网页「外观 (user interface)」的编排。CSS 除了可避免陷在 HTML 多层的巢状 table 里,亦可明显减少网页档案大小让页面日后可统一维护,而非逐一修改。日前版工找了一些书上的 CSS 范例,经简单修改并测试后,开放七个 CSS + div tag 网页排版的「样板」让大家下载 (.html 格式,可直接用浏览器开启),内容如下:

(1) 两栏式版面,画面上的字段宽度可随浏览器自动调整
(2) 两栏式版面,画面上的字段宽度固定,不可随浏览器自动调整
(3) 三栏式版面,画面上的字段宽度可随浏览器自动调整
(4) 三栏式版面,画面上的字段宽度固定,不可随浏览器自动调整
(5) 多栏式版面,画面上的字段宽度可随浏览器自动调整
(6) 多栏式版面,画面上的字段宽度固定,不可随浏览器自动调整
(7) 非对称、字段坐标不固定,画面上的字段位置可随浏览器自动调整

本帖的示例代码下载点:
http://files.cnblogs.com/WizardWu/070915.zip

七个范例中,主要可区分为两大类:
• 页面中的字段,会随使用者的屏幕分辨率、鼠标拖曳浏览器边框,自动延展和调整
• 页面中的字段,宽和高固定,不会随使用者的屏幕分辨率、鼠标拖曳浏览器边框,自动延展和调整

透过 CSS 对整个 div 区块的统一设定,可让页面外观的编辑和维护工作变得轻松许多。不过有少数 CSS 的属性设定,需要额外考虑到浏览器的牌和新旧版本问题。此外本提供下载的多栏式版面范例中,亦要考虑到,当页面其中一栏的图文内容特别多时,是否会照字段的预设宽度往下延伸,抑或图文内容会围绕别的字段;此种情况可能会发生在非固定栏宽的页面中,此时就得再引用其它 CSS 的排版技巧加以调整。

CSS 除了版面设计功能强大外,还有许多其它的优点。像是要让使用者透过浏览器「打印」网页,传统的做法,开发人员可能会特地替需要印的页面,重新排版、重写一适合 A4 纸张打印的页;但透过 CSS,我们可以在使用者要打印时,让其自动套用新的 CSS 样式表,而非 redirect 到另一个专供打印的网页,如此便可省下重新撰写印页的时间,及 Web server 的硬件系统资源。

————————————————-
本帖参考书籍:

[1] Christopher Schmitt,「CSS Cookbook, Second Edition」, O’Reilly 出版社, 2006/10
http://oreilly.com/catalog/9780596527419/index.html

————————————————-
本帖相关文件:

[1] CSS Tutorial
http://www.w3schools.com/css/default.asp

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111007.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • maven+springmvc+mybatis+redis 缓存查询实例,附有源码地址,使用redis注解和hash数据格式set,get两种方式讲解

    maven+springmvc+mybatis+redis 缓存查询实例,附有源码地址,使用redis注解和hash数据格式set,get两种方式讲解maven+springmvc+mybatis+redis 缓存查询实例,附有源码地址,使用redis注解和hash数据格式set,get两种方式讲解

    2022年4月23日
    36
  • splice方法最详细最全面的解释!!!

    splice方法最详细最全面的解释!!!文章目录前言一、splice方法官方文档节选二、根据文档测试方法一:方法二:方法三:方法四:总结前言在学前端的时候一直对splice方法不太清楚,今天特意总结了一下!一、splice方法官方文档节选查阅了splice方法的示例文档,如下:(不想看论述的,可以直接跳到下面看总结!)splice返回值:Array所属对象:ArrayTheelementstoaddtothearray.Ifyoudon’tspecifyanyelements,splice

    2022年9月24日
    0
  • golang []byte和string相互转换

    golang []byte和string相互转换测试例子:packagemainimport(“fmt”)funcmain(){str2:=”hello”data2:=[]byte(str2)fmt.Println(data2)str2=string(data2[:])fmt.Println(str2)}

    2022年6月17日
    23
  • BACnet协议_bip协议

    BACnet协议_bip协议一、什么是BACnet?BACnet,BuildingAutomationandControlnetworks的简称,即楼宇自动化与控制网络。是用于智能建筑的通信协议。一般楼宇自控设备从功

    2022年8月4日
    5
  • 床长人工智能教程 下载_人工智能

    床长人工智能教程 下载_人工智能目录请先点击下面查看序言序言1神经网络与深度学习1.1介绍神经网络1.1.1什么是神经网络1.1.2监督学习型神经网络1.1.3什么使深度学习火起来了1.2神经网络基础1.2.1如何将待预测数据输入到神经网络中1.2.2神经网络是如何进行预测的1.2.3神经网络如何判断自己预测得是否准确1

    2022年9月21日
    1
  • 1、win10下的python3.5.4安装

    现在越来越多人入坑python了,当然我也不例外。作为一个java程序员的我,在空余时间就慢慢学习python了 。第一件事就是安装Python啦。(主要以Python 3.5.4为例)一、官网下载安装包官网地址:https://www.python.org/downloads/windows/ 都说越新越好嘛,其实我觉得都差不多,但是3.6跟3.5还是有点区别的嘛,所以我…

    2021年11月30日
    57

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号