Spiga

根本不存在 DIV + CSS 布局这回事

2007-04-09 22:29 by Cat Chen, 36973 visits, 收藏, 编辑

在《欲练 CSS ,必先宫 IE》和《你有 <table /> 强迫症吗?》这两篇文章中,看到有不少评论用到div+CSS布局这个说法,用来和table布局比较。实际上div不是用来布局的,div只是用来表示一个其它元素都无法准确表达语意的一个块区,只有CSS是用于布局的,所以根本就不存在div+CSS布局这回事。反过来,table布局的时候经常依赖于CSS定义一个单元格的布局属性,所以可以说是table+CSS布局。也就是说,我们讨论的两种主流布局方法应该是纯CSS布局和table+CSS布局,如果你觉得你在用的是div+CSS布局,那么有可能你也有强迫症了。

接下来我们说说如何进行纯CSS布局,因为CSS布局依赖于XHTML,所以我们先要说说如何书写一个CSS无关的XHTML。其实书写CSS无关的XHTML并不难,虽然你不能再好像书写table布局代码那样集中精力于最重的视觉效果上,但其难度也不过是中学生写作文那样。

中学生写作文如何写呢?首先看看题目,然后想想整篇文章分为哪几个大的段落,每个大的段落说些什么,能够把你要说的东西说清楚。对于XHTML来说,这相当于用div把文档切割为几大块。这时候你不要想着这些div将构建一个怎样的DOM啊、CSS如何选择DOM中元素设置规则实现布局之类的事情,就大概划分一下文档的大区域就好了。

然后当然是用一些常用的手法来表现感情或者论证问题,这在XHTML中就是用特定的元素来完成一些常见的信息组织。下面就是信息组织形式与元素的对应列表。

img

作为内容的图片是一定要放到img里面的,这没有更好的选择了。然而如果图片不是作为内容,而是作为修饰性的,则千万不要用img。对于非内容的图片,应该在CSS中引用,而不在XHTML中出现。例如每一个导航链接有一个前导的箭头指示,那么这些箭头就应该通过CSS的background-image属性加上去,而不是直接作为img出现。

a

这也是一个非常准确定义的元素,链接都需要使用它。或许已经有很多人忘记了a的本意是锚点,其实这是一个十分有用的语义,你可以用它来标记文档中一些重要的引用位置。

ul, ol

ul和ol分别是什么意思呢?如果你回答不上来,却知道它们可以用来干什么,那证明你是被可视化工具宠坏了,要转换过来编写符合语义的XHTML需要先补充基础知识,这时候你最好先找一些看起来非常基础非常全面的XHTML书籍看看,因为没有扎实的基础你在上面构建更多的知识都是不牢固的。ul和ol其实分别代表unordered list和ordered list,也就是无序列表和有序列表。在语义上,它们都用于表示一类并列关系的内容,例如我们去商店购物之前列一张shopping list,上面要买的东西就是并列关系,在中文可以用顿号隔开那种。它们的差别在于是否有顺序,例如shopping list是没顺序的,先买什么后买什么是没关系的,但是一份旅游行程安排上面的景点列表却是有游览的先后顺序的。

ul常用于导航栏,因为导航元素符合上面所说的并列关系,树状导航结构还可以通过嵌套ul来表述。在这里,导航可以是我们常见的水平或竖直导航栏,甚至可以是地图导航,例如在中国地图上不同的省份热区其实是不同的li。如果我说,在主流浏览器上用户看到了中国地图和可以直接点击省份热区,在不支持CSS的浏览器上用户能看到一份纯文本的省份名称列表,使用的是同一份XHTML,而这完全通过CSS实现,甚至不依赖于JavaScript,你相信吗?

另外,如果你要显示一个图库的缩略图,这些图片也可以放在ul中哦,因为这些图片也是并列关系。它们可以自动先横排,排满一行就自动排第二行,CSS可以让他们乖乖排队,而不需好像table那样把图片定死在一个格子里。其实table用于布局就如同用监狱关押内容一样,把内容锁死在一个格子里不让它到处乱跑;符合语义的XHTML就如同一个开放的舞台,你只要懂得利用CSS的规则,内容就自然会找一个适合表现自己的地方站着。

dl

没有听说过dl吗?因为那些可视化工具生成的代码中从来不会出现dl?dl的意思是definition list,也就是定义列表。它包含的子元素不是li,而是dt和dd,也就是definition term和definition description。dl本身设计为字典单词与解释列表这样的语义,例如:
<dl>
  <dt>Apple</dt>
  <dd>苹果</dd>
  <dt>Boy</dt>
  <dd>男孩</dd>
</dl>

然而,如果你需要表示的的语义也是类似的,一个列表既包含定义也包含解释,那么也可以考虑用dl。

form, input

form也就是表单啦,这没什么好说的,就算再不顾及语义的人在书写XHTML时也会考虑到它与各种input对提交数据的影响,从而小心谨慎。

table

table自然是用来表示表格的,这不废话!如果是数据表,当然可以用table来表示,但如果不是,就最好别用table了。

人名列表呢?例如一个3行4列的人名列表。如果这12个人名是并列关系,我建议你用ul和12个li来表示,再通过CSS来让它们在一行内并列显示多个。名片表呢?也就是3行8列,每两列中左侧一列显示人名右侧一列显示电话地址等联系方式。我觉得dl在一定程度上能满足此需求,dt放人名,dd放联系方式,不过这时候就涉及了dl滥用的争论,因为人名与联系方式当作定义与解释有点牵强。

接下来还有一个关于你是否系统学习过XHTML的小提问,那就是你是否知道table下面的caption、col、colgroup、thead、tbody、tfoot元素及summary属性分别用于定义什么,还有就是你书写table时是否会使用thead、tbody。

div, span

再次审阅上面的列表,如果你需要表示一个块区却无法在上面找到更适合的元素,那么你就可以考虑使用div和span这两个最没有语义的元素了。div与span的区别,历史上的不说了,现在通常大块的区域用div,行内的小文本片段就用span。在上面我已经说了div一般用于全局划分为几个大的区域,所以一般不需要使用了。span其实也很少使用,因为行内的强调通常可以用语义更强的元素例如strong和em。

在理解上上述那么多常用元素后,写一个XHTML就真的如同中学生写作文一样容易啦,还是搭积木那样,其实和以前使用可使化工具搭积木没什么不同,唯一不同是现在你理解了你在搭的是什么,而以前你只在乎搭出你想要的视觉效果来。写代码与写作文所类似的地方,就在于你写得越多就越熟练,也就越能写出好东西来。在写好XHTML后我们就要开始考虑如何写CSS了,或许还需要在XHTML中略作修改以方便CSS中规则的选择与匹配,不过这是以后再说的内容了,今天就说到这里。

最后,如果你有兴趣阅读我以后发表的有关CSS的文章,可以考虑订阅我的blog:

Add your comment

119 条回复

    评论共2页: 上一页 1 2 
  1. #20楼 钢盅郭子      2007-04-10 10:53
    想当年Dreamweaver得势的时候,谁都没有预料到今天返璞归真的局面啊

    从某种意义上讲,似乎FrontPage更遵循HTML规范呢
     回复 引用 查看   
  2. #21楼 数据绑定者      2007-04-10 10:59
    FrontPage生成一大堆<center><b>等过时标签,现在最合乎规范的是Expression Web Designer
     回复 引用 查看   
  3. #22楼[楼主] Cat Chen      2007-04-10 11:11
    @kiler
    除非你的美工真的把所有页面都输出为标准XHTML给你吧,否则你拿着一份XHTML模板,然后改的时候也可能把XHTML改乱了,之后无论如何也做不到你要的效果,也无法改回去。这种情况经常发生在那些连HTML都没学好的ASP新手身上,他们即使拿着HTML去加<% %>也会导致页面面目全非。所以扎实的XHTML基础还是有必要的。
     回复 引用 查看   
  4. #23楼[楼主] Cat Chen      2007-04-10 11:13
    @peng
    对啊,不知道这是国情还是全世界都这样呢,美工负责的就只是jpg,如果他在psd上都给上标尺以方便你计算px或者%那已经很好的了。
     回复 引用 查看   
  5. #24楼[楼主] Cat Chen      2007-04-10 11:16
    @数据绑定者
    可以转载,我的文章都使用Creative Common许可,请参考:
    http://creativecommons.org/licenses/by-nc-sa/3.0/

    你记得留一个链接指向原文或者指向我的blog就行了。
     回复 引用 查看   
  6. #25楼[楼主] Cat Chen      2007-04-10 11:19
    @钢盅郭子
    看完《程序员修炼之道》后,我就一直反对DreamWeaver,特别是DreamWeaver再加上一大堆第三方的特效插件。

    书里面写道,不要使用那些你不知道引起什么变化的向导,而DreamWeaver正是生成了大量代码而不用你知道这些代码到底是干什么的。我不反对代码生成器,但前提是你确确实实知道这些代码是干什么的,你自己也写得出等效代码,而不是看着代码生成器的结果来猜它们是干什么的。
     回复 引用 查看   
  7. #26楼[楼主] Cat Chen      2007-04-10 11:21
    @数据绑定者
    低版本的FrontPage比较多这些问题,高版本的话,如果你把它当作一个带IntelliSense的文本编辑器,其实还是很好用的。就算是Expression Web Design,要写好的XHTML也是要手写吧。

    我向来是习惯借助IntelliSense来写XHTML,然后再切换到split视图来看看效果是否有什么问题,接着慢慢加style。
     回复 引用 查看   
  8. #27楼 henry      2007-04-10 11:24
    我们现在把裸页的程序完成后就全完由美工去完成剩下的事情了.
     回复 引用 查看   
  9. #28楼 Jeffrey Zhao      2007-04-10 11:24
    @Cat Chen
    如果是给一份设计稿倒好了,据我了解其实国内很多地方都是美工已经帮你布好局了——比如用table,然后开发人员填写内容。
     回复 引用 查看   
  10. #29楼 A.Z[未注册用户]2007-04-10 11:28
    html本质决定了它会有一个很繁杂的标准,现在很多人都扑到asp.net上,其中有些人不停的在谈对象、服务器编程,却只认web namespace下面的对象,对.net整体架构理解混乱。个人认为网页编程的起点是html的驾驭能力,lz的文章必顶。
     回复 引用   
  11. #30楼 数据绑定者      2007-04-10 11:28
    @Cat Chen
    Expression Web Design通过设计器设计出来的样式,也是遵循标准的~省了很多手写的麻烦。
     回复 引用 查看   
  12. #31楼[楼主] Cat Chen      2007-04-10 11:46
    @Jeffrey Zhao
    这时候你可以把table排版当作一张jpg,重做XHTML+CSS的,我就试过这样。
     回复 引用 查看   
  13. #32楼[楼主] Cat Chen      2007-04-10 11:47
    @A.Z
    谢谢~
     回复 引用 查看   
  14. #33楼[楼主] Cat Chen      2007-04-10 11:49
    @数据绑定者
    其实CSS最好也是手写,当你需要用hacks时就只能手写了。Expression Web Design唯一帮忙的地方就是你能看到一个元素的CSS是如何继承下来的,哪些规则覆盖了哪些规则。
     回复 引用 查看   
  15. #34楼 Wisdom-zh      2007-04-10 12:02
    极好, 支持.
    我也是不用设计器的, 有些技巧学了有用啊.
     回复 引用 查看   
  16. #35楼 生米煮成稀饭      2007-04-10 12:09
    很通俗易懂,建议多一些xhtml各个元素的讲解于用途
     回复 引用 查看   
  17. #36楼 随风流月      2007-04-10 12:12
    @Cat Chen
    非常好。
    请问您有 MSN 吗?
     回复 引用 查看   
  18. #37楼[楼主] Cat Chen      2007-04-10 12:34
    @生米煮成稀饭
    如果详细讲解XHTML的话,我建议大家还是买书看咯,例如O'Reilly的《HTML与XHTML权威指南》。

    写这些文章的目标,是为了让初入门学习或者学习中感到迷茫的人找到下一步的目标,知道自己缺什么然后可以找有关的资料来补充。书上已经有的详细资料,我觉得我没必要重复,大家去买书看就行了。
     回复 引用 查看   
  19. #38楼[楼主] Cat Chen      2007-04-10 12:35
    @随风流月
    有,你发私人信息给我,然后我直接回邮件给你,你就知道了。
     回复 引用 查看   
  20. #39楼 kiler      2007-04-10 12:38
    @peng

    你没有理解我的意思,我的意思是说,程序不需要关注html的那些标准,就是比方说是页面是用table布局还是用div来布局,不是说程序员可以不懂html语言,这个都不懂就别做bs开发了,实际项目中应该由美工做一个大的静态图片出来,然后切成一个页面再给我们,我们要做的事情就是把改加的代码和标签加进去就行,页面用table布局还是用div来布局我们不用管,而且我们也管不了,你把页面布局方式由table布局改成了div布局的话,那美工就没有改页面了,页面html该怎么写我们没有决定权,页面html布局采用什么样的方式是由美工使用的网页设计工具决定的,美工用DreamWeaver那么页面布局DreamWeaver那种html方式来布局,我们的项目里面用什么XHTML规范,其实可以说是由DreamWeaver来决定的,因为大部分美工都用DreamWeaver来做页面。

    @Cat Chen

    不管美工给我什么页面,我都只会做很小的修改,比方说嵌入一些服务器端标签
    ,加上一些js,至于html是用table布局还是div布局,或者说他的html代码写的很烂不符合什么什么XHTML规范,我都不管,我只加入我需要的东西就ok了,改美工实在没有必要,你好不容易改好了,说不定那天他有给你改回去了,转来转去太麻烦。程序员对html应用就是能读能写就ok了,但是不需要你用来写出好看的页面。

     回复 引用 查看   
  21. #40楼 深蓝      2007-04-10 12:58
    好文章,赞一个
     回复 引用 查看   
  22. #41楼 钢盅郭子      2007-04-10 13:57
    btw
    我现在倾向于用dl输出“搜索结果列表”

    原因只有一个:dl(dt,dd)只有2层,而table(tr,td)有3(算上tbody就是4)层

    :P
     回复 引用 查看   
  23. #42楼 WOW玩家      2007-04-10 14:13
    div是一个区域,css是用来设计样式的.在页面设计的时候,如果你不用div设计框架,那你只能用table了.所以我认为div+css布局的说法是正确的.
     回复 引用 查看   
  24. #43楼 随心所欲      2007-04-10 18:28
    写的不错。
     回复 引用 查看   
  25. #44楼 Roach[未注册用户]2007-04-10 20:04
    做交互的应该什么样的布局都熟练.都没错.混合使用效果更佳
     回复 引用   
  26. #45楼[楼主] Cat Chen      2007-04-10 20:16
    @WOW玩家
    我们所说的布局确实通常就指框架部分,所以都是div,然后如果直接说div+css则很容易让一些入门者误入歧途,以为什么都是用div来表示,从而忽略了上述的其它元素。实际上div和span都应该仅在没有更适合的选择时使用。
     回复 引用 查看   
  27. #46楼 sty[未注册用户]2007-04-10 21:32
    《根本不存在DIV + CSS 布局这回事〉〉,什么叫不存在,有什么不存在,这只是一种很好的页面布局方法,某些要求只有div+css可以实现,table无能为力//。
     回复 引用   
  28. #47楼[楼主] Cat Chen      2007-04-10 21:37
    @sty
    你回复的好像只是标题吧……
     回复 引用 查看   
  29. #48楼 deerchao      2007-04-11 00:12
    @Cat Chen
    事实上存在不存在,理论上是不是应该存在是两个不同的命题。

    在制作XHTML时完全不考虑布局,至少在目前是不太可能的,除非页面布局比较清晰明了,否则像新浪首页那样复杂的页面几乎是不可能做出来的——在跨浏览器的前提下。

    Web Standards当然很好,但它不是一个革命,而是一种进化,人们(设计者,浏览器开发者,甚至标准制定者)总要一步步地去学习,接受,使用它,一次到位不是不可能,而是代价太高昂。

    而且,在中国,我怀疑在(X)HTML,语意化真正地成为主流之前,Web已经抛弃了它,转向了下一代的平台(比如XAML, XUL, Flash等)。

    ——一个70%实用主义+30%理想主义的程序员
     回复 引用 查看   
  30. #49楼 jeffer[未注册用户]2007-04-11 07:31
    俺们一般叫 XHTML+CSS , 不叫 DIV+CSS。DIV+CSS是刚开始抛弃表格布局的叫法。3年前吧
     回复 引用   
  31. #50楼 外人[未注册用户]2007-04-11 09:53
    div+css和table+css有着明显的区别,首先一点是table嵌套多了之后是很占用页面载入时间的,div是要快些,第二table是有局限的,比如一个块的拖动,这个是现在很流行的做法感觉效果很吸引人,还有在用到ajax做无缝提交的时候用div是很方便的,
     回复 引用   
  32. #51楼 pumaboyd[未注册用户]2007-04-11 10:56
    同意这个观点。div 也好,table也好,看设计时候的需要
     回复 引用   
  33. #52楼 zengdj[未注册用户]2007-04-11 12:50
    答非所问,标题与内容完全不匹配,不知道你到底想说什么,还不如小学生写作文呢
     回复 引用   
  34. #53楼[楼主] Cat Chen      2007-04-11 20:39
    @zengdj
    我想说的是,做CSS布局不要仅盯着div,这世界上不是只有div能够搭配CSS。很多人随口就说div+CSS,导致很多人整个XHTML中只用div,这是错误的,我们应该优先考虑更有语意的元素。
     回复 引用 查看   
  35. #54楼 lollipop[未注册用户]2007-04-15 20:47
    正确的提法是xhtml+css,而不是div+css或table+css
     回复 引用   
  36. #55楼 博联人才网[未注册用户]2007-04-26 12:25
    你好!我是北京博联四海信息技术有限公司,我公司专业从事技术类博客经纪人业务。通过一段时间的跟踪记录,觉得您的博客很有开发价值,所以愿意为您的博客做专职经纪人,不需要您投入任何资金,帮助您获得IT技术类招聘及IT书籍类广告收入,与同类博客广告相比收入回报率最高,你所得收入会按月汇入您指定银行账户中。
    同时,为增加您的博客点击量和开发价值,我公司将为您提供免费的博客推广业务。
    有关签约的详细事宜请与我公司联络。(www.bolianhr.com)
    联系人:宋薇 (博客经纪人) 公司电话:010-82908071(9:00-18:30)
    手机:13522063599
    E-mail:songwei@bolianhr.com QQ:545305476
    MSN:mllsongw@hotmail.com
    衷心欢迎您加入到“博联四海”专业IT件技术人才招聘平台中来。期待您的回复。
     回复 引用   
  37. #56楼 sunlion[未注册用户]2007-05-21 15:14
    楼主阐述的很是经典。我是做php的,虽然对一直一来喊的很响的div+css没有很深刻的认识,但是。毕竟我也做页面,也研究过大旗等站的源码。div的优势目前似乎比较明了,但是,纯粹去用层来布局和层中嵌套表格来做布局到底哪个更快?哪个更容易被爬虫爬到?等等,似乎也并没有个定数。同意该观点,不存在div+css布局。不过,dreamweaver似乎升级的太慢了点.....讨厌规划布局跟写后台似的....麻烦...
     回复 引用   
  38. #57楼 擦擦洗洗[未注册用户]2007-06-05 11:10
    写得确实有魄力,够深度。我已经将它转载至:http://www.zx100.com/article.asp?id=485.html
     回复 引用   
  39. #58楼[楼主] Cat Chen      2007-06-05 22:58
    @擦擦洗洗
    请保留指向原文的链接,或者指向此blog首页的链接,谢谢。
     回复 引用 查看   
  40. #59楼 怪怪[未注册用户]2007-06-06 01:42
    呵呵Cat Chen也变标题党了~~,小小的B4一下先 ^_^
     回复 引用   
  41. #60楼[楼主] Cat Chen      2007-06-06 07:34
    @怪怪
    标题嘛,有一点点实验性质啦,不过只要你进来之后觉得内容是有价值的就不会觉得被骗进来啦。
     回复 引用 查看   
  42. #61楼 ***[未注册用户]2007-06-12 19:12
    顶 楼猪写的好啊
     回复 引用   
  43. #62楼 Anthan      2007-06-14 11:01
    希望有个实例啊,或者搞个图,要不这样文章就很容易被人引到争论而不是探讨中去了。
     回复 引用 查看   
  44. #63楼 zz[未注册用户]2007-06-28 11:18
    Div + Css 是存在这个概念的,最大的好处是用DIv不用象Table那样全部加灾完,并且难道你能用Css控制Table的随意位置吗?如果不行 那么Talbe就会产生大量的嵌套,这样页面加载时就会慢了
     回复 引用   
  45. #64楼 asboy      2007-07-02 14:42
    哈哈 通俗易懂 童叟无欺 不错 就觉得用table布局比较快 现在人家都趋势了也没办法 美工程序都要一个人做的 什么乱七八糟的都要学
     回复 引用 查看   
  46. #65楼 火星楼主[未注册用户]2007-07-23 21:02
    坚定完毕楼主是火星人....
    SB 一个!!!!@

    什么叫 根本不存在 DIV + CSS 布局这回事

    自己去
    Http://www.163.com
    Http://www.heike.Hk/soft
    从大网站到小网站还有哪个不是用DIV+CSS?
    就你SB 说不可能
    还要在这里欺骗群众...
    骗新手你觉得很好玩是吗?
    弱智.... 什么智商.. 别人都做到了 你还要说不可能.
    SB 害群之马 严重 阻碍中国互联网事业发展 ...
    做为中国人 鄙视你 .
    估计你是 日本人派来的间谍吧..!!!
    头脑有毛病 发这样的文章 !!@
     回复 引用   
  47. #66楼 同意楼上的[未注册用户]2007-07-23 21:06
    楼主是火星人

    到了地球没见过世面

    table+CSS 已经是历史了

    是过去的事 那时候 大家技术都不好

    都不会

    现在这个年代

    如果再提 table+CSS

    就是低人一等了

    哎! 毒害了多少 新人啊

    无语中

    汗ing
     回复 引用   
  48. #67楼[楼主] Cat Chen      2007-07-24 01:03
    @火星楼主
    @同意楼上的
    请阅读完文章正文后再作评论,谢谢!
     回复 引用 查看   
  49. #68楼 钢盅郭子      2007-07-24 09:19
    这2位……
    还是看了全文内容再做评论吧

    话说回来,Cat有点标题党的嫌疑,哈哈
     回复 引用 查看   
  50. #69楼 同意楼上的[未注册用户]2007-07-24 11:42
    这两个网站都做到了
    DIV+CSS
    Http://www.163.com
    Http://www.heike.Hk/soft
    啊..
    没错啊
    楼主为什么说不可能做到呢?
     回复 引用   
  51. #70楼[楼主] Cat Chen      2007-07-24 11:56
    @同意楼上的
    我没有说做不到,我说的是div+css是一个不太正确的名字,正确的名字应该是xhtml+css,而div只是xhtml中的一种元素而已,如果完全只用div而不用其他更加符合语义的元素,那就和可能造成div滥用,导致的后果其实和table滥用没什么区别。
     回复 引用 查看   
  52. #71楼 wl[未注册用户]2007-08-03 17:43
    学习了
     回复 引用   
  53. #72楼 匿名[未注册用户]2007-08-04 16:27
    Div+CSS只是一种布局标准,而xhtml+css是一种Web标准。Div+css使用正确时可以在任何浏览器上正常显示,而Table却不行......
     回复 引用   
  54. #73楼 catge[未注册用户]2007-09-11 18:48
    汗,就这标题就把我从google那边吸引过来了。。
    不看完内容还真是容易误会的说。
     回复 引用   
  55. #74楼[楼主] Cat Chen      2007-09-11 21:59
    @catge
    看来标题还是有一定吸引力的,哈哈。
     回复 引用 查看   
  56. #75楼 qqqqqq[未注册用户]2007-11-01 22:56
    扯淡
     回复 引用   
  57. #76楼 不错呀[未注册用户]2007-11-09 00:46
    大受启发
     回复 引用   
  58. #77楼 游牧[未注册用户]2007-11-13 21:12
    感谢cat的文章,我刚开始学习css,在这方面比较差,今天连续看了你博客里的文章,还是有很大收获的,谢谢你的分享。
     回复 引用   
  59. #78楼 蛙蛙池塘      2007-12-25 20:49
    很好,看了一遍
     回复 引用 查看   
  60. #79楼 Jo[未注册用户]2008-03-25 18:05
    啊啊啊啊~~~~居然被我找到這裡了~~~~
    話說是在某個人的博客上返回到cnblogs首頁
    然後在排名list上掃視的時候看到你的名字……
    而且此博內容真豐富……
    我是CSS菜菜子,所以訂閱學習了>o<

    ps.cat同學寫文章的感覺好像大人啊……
    就是那種網上常見的二十幾歲工作了好多年的人……
     回复 引用   
  61. #80楼[楼主] Cat Chen      2008-03-26 01:42
    @Jo
    竟然被你找到这里来了……
     回复 引用 查看   
  62. #81楼 Billy Fan[未注册用户]2008-03-27 23:29
    不错不错,大受启发,楼主讲的很有道理啊~~~~~~

    我就是典型的被div+css的说法残害了的~~~~~~

    最近才刚从table转过来,结果写的东西里面就只有div,

    以后要多考虑一下有语意的标签了~~~~
     回复 引用   
  63. #82楼 正文[未注册用户]2008-03-28 23:33
    xhtml + css + javascript ^^
     回复 引用   
  64. #83楼 sliz[未注册用户]2008-04-25 10:14
    谢谢,写的不错,学习中,感觉 dw太不好用了,还不如 手写代码方便。
     回复 引用   
  65. #84楼 簡簡單單..      2008-05-07 21:09
    Mark
     回复 引用 查看   
  66. #85楼 枫子2008-05-31 01:43
    好东西啊
     回复 引用   
  67. #86楼 zwicker      2008-07-25 22:49
    最近看了css the missing manual 感觉楼主这标题实在有问题。div+css主要功能还是用来布局的,而table反而是用来显示数据的,它的本意并不是用来布局。纠正楼主的观点,谢谢。
     回复 引用 查看   
  68. #87楼[楼主] Cat Chen      2008-07-25 23:28
    @zwicker
    没有任何HTML元素是用来布局的,所有元素都是用来表示语义的,只有CSS才是用来布局的。所以,无论说table布局,还是说div布局,都是错误的。
     回复 引用 查看   
  69. #88楼 老少[未注册用户]2008-08-15 16:32
    感觉div+css是一种趋势,假如说不存在,为什么大家都用,不管如何,楼主的标题是惊人之语!吸引了大量的眼球!
     回复 引用   
  70. #89楼[楼主] Cat Chen      2008-08-15 16:47
    @老少
    请参考你楼上我的回复来理解标题。
     回复 引用 查看   
  71. #90楼 jimmy667[未注册用户]2008-08-18 16:49
    搞不懂作者为什么起这么一个有点哗众取宠的标题。
    你所谓的XHTML众多用来表现的标记,是否都和布局有关系。
    你提到的IMG,FORM,INPUT是否都是布局的必要元素。
    所以你如果说 根本 不存在DIV+CSS布局,我觉得不妥,如果是单纯讲布局,DIV+CSS完全可以实现。
     回复 引用   
  72. #91楼[楼主] Cat Chen      2008-08-18 17:19
    @jimmy667
    我的意思是,它们都不是布局元素,没有一个元素是用于布局的,只有CSS是用于布局的。
     回复 引用 查看   
  73. #92楼 jimmy667[未注册用户]2008-08-19 10:17
    @Cat Chen
    你的意思是标题应该为
    1.根本不存在DIV+CSS布局这回事
    2.看我如何用纯CSS来布局
    3.CSS布局依赖于XHTML
    4.DIV是XHTML中的一个标记
    以上几点你自己总结一下看看
     回复 引用   
  74. #93楼[楼主] Cat Chen      2008-08-19 11:05
    @jimmy667
    是的,div只是一个标签,而且是语义最不精确的一个标签,所以能用更精确语义的标签时就应该避免使用div。
     回复 引用 查看   
  75. #94楼 路过而已[未注册用户]2008-08-21 11:16
    这么冲动! 写这样的标题不知道是钻牛角尖,还是是为了增加浏览量?
     回复 引用   
  76. #95楼[楼主] Cat Chen      2008-08-21 12:21
    @路过而已
    请仔细阅读文章及评论后再发表看法,谢谢。
     回复 引用 查看   
  77. #96楼 枫子12[未注册用户]2008-09-07 23:14
    好文章
     回复 引用   
  78. #97楼 awei2[未注册用户]2008-09-15 11:47
    作者有点钻到标准的套子里了,标准固然是好东西,但是标准也是人造出来的,如果一个定义好的标准没有人去使用,没有市场,那这个标准有他的意义么?这也是为什么很多所谓技术呆子不解的地方,你有一个祖传的秘方但是就是藏在家里没人知道那又有何用,现在秘方这东西放的时间越长越不值钱,反而不一定好的东西经过市场的洗礼变成了最好的东西。
    其实慢慢的我们国内也会越来越分工明确了,标准这东西交给开发公司吧,就好比现在做信息工程的程序员,不用太多考虑控件是如何编写的,只用知道如何灵活的使用这个控件而已。
     回复 引用   
  79. #98楼 美工[未注册用户]2008-10-04 12:57
    这种用css布局的网站适用于一般的网站,要是让美工设计个有点特点的网站这些都不适用了
     回复 引用   
  80. #99楼[楼主] Cat Chen      2008-10-04 13:02
    @美工
    任何设计都能把语义抽离为HTML,并用CSS实现布局。如果有做不到的,大多数情况下是你还没完全掌握CSS所导致的。
     回复 引用 查看   
  81. #100楼 yzy2yyy[未注册用户]2008-10-16 23:25
    G.cn过来的...看看...
    "DIV+CSS布局"是不是可以理解为" 'DIV' + 'CSS布局' "..这样断句???
    这样断就没问题了嘛..噶
     回复 引用   
  82. #101楼[楼主] Cat Chen      2008-10-16 23:49
    @yzy2yyy
    这样就是“CSS布局”啊,前面一个DIV不觉得很多余吗?
     回复 引用 查看   
  83. #102楼 hs hs[未注册用户]2008-10-18 20:03
    好标题
    好内容
    好耐心
    好人
     回复 引用   
  84. #103楼 dsrtr[未注册用户]2008-11-16 08:42
    这个标题 有点故弄玄虚
     回复 引用   
  85. #104楼 棕熊      2008-11-18 13:53
    陈猫gg, 更正一个错误,一个dl里只能有一个dt,但是可以有多个dd,所以那个得写成
    <dl>
    <dt>Apple</dt>
    <dd>苹果</dd>
    <dl>
    </dl>
    <dt>Boy</dt>
    <dd>男孩</dd>
    </dl>
    @@
     回复 引用 查看   
  86. #105楼 .. 理论问题没有什么好争议地拉,总要的是效果[未注册用户]2008-12-08 17:27
    - -!! 同感, 这个标题有点故弄玄虚.. DIV+CSS只是被缩小化了.. 不能说不存在吧? 它只是XHTML+ CSS里的一个小分支而已..
    对于table+CSS布局, 个人感觉同样XHTML+CSS有相同效果下,采取后者..
    如全在大量表格的情况下, 考虑table+CSS布局, ..
     回复 引用   
  87. #106楼 你是SB[未注册用户]2009-01-08 09:39
    你给我滚犊子!你别用奥!
     回复 引用   
  88. #107楼 alexander[未注册用户]2009-02-14 11:38
    使用table使代码冗长,表单设置困难,不易阅读
    使用DIV,简化代码,有布局功能,所以请作者不要耍聪明了
     回复 引用   
  89. #108楼 游客9527[未注册用户]2009-02-24 10:54
    DIV+CSS布局是指:用DIV做基本容器,再用CSS对其进行格式化和布局。
    理解时断句:DIV+(CSS布局)
    因此DIV+CSS布局这一说法是没有任何问题的,楼主可能是把“DIV+CSS布局”理解成“(DIV+CSS)布局”了,所以是楼主断句断错了。

    不过你写的内容很不错。

    踩一个,也躜一个!
     回复 引用   
  90. #109楼[楼主] Cat Chen      2009-02-24 11:27
    @游客9527
    挺新颖的观点,嘿嘿~
     回复 引用 查看   
  91. #110楼 xlnv[未注册用户]2009-05-07 04:37
    很好收藏了
     回复 引用   
  92. #111楼 arey[未注册用户]2009-07-20 22:27
    刚开始接触b/s,学习了
     回复 引用   
  93. #112楼 风@人间      2009-09-22 16:36
    写的不错 不过标题太过了吧 ! 不过还真引来不少眼球 呵呵
     回复 引用 查看   
  94. #113楼 Bob-wei      2009-10-13 16:55
    <% %>把XHTML代码弄得面目全非,这是我一直很讨厌做动态页面的原因之一。
    我身边的一些美工对DIV和CSS的理解不够,在CSS的应用上非常局限。楼主的文章不错,正打算学习Web应用。
     回复 引用 查看   
  95. #114楼[楼主] Cat Chen      2009-10-13 17:04
    @Bob-wei
    你可以尝试换一种基于XML的模版语言,解决<% %>的问题。
     回复 引用 查看   
  96. #115楼 顾晓北      2011-01-04 09:39
    站位
     回复 引用 查看   
  97. #116楼 兰悦儿      2011-05-31 14:03
    作为内容的图片是一定要放到img里面的,这没有更好的选择了。然而如果图片不是作为内容,而是作为修饰性的,则千万不要用img。对于非内容的图片,应该在CSS中引用,而不在XHTML中出现。例如每一个导航链接有一个前导的箭头指示,那么这些箭头就应该通过CSS的background-image属性加上去,而不是直接作为img出现。
    这个我以前忽略了,呵呵,学习。
     回复 引用 查看   
  98. #117楼 兰悦儿      2011-05-31 14:03
    作为内容的图片是一定要放到img里面的,这没有更好的选择了。然而如果图片不是作为内容,而是作为修饰性的,则千万不要用img。对于非内容的图片,应该在CSS中引用,而不在XHTML中出现。例如每一个导航链接有一个前导的箭头指示,那么这些箭头就应该通过CSS的background-image属性加上去,而不是直接作为img出现。
    这个我以前忽略了,呵呵,学习。
     回复 引用 查看   
  99. #118楼 兰悦儿      2011-05-31 14:04
    作为内容的图片是一定要放到img里面的,这没有更好的选择了。然而如果图片不是作为内容,而是作为修饰性的,则千万不要用img。对于非内容的图片,应该在CSS中引用,而不在XHTML中出现。例如每一个导航链接有一个前导的箭头指示,那么这些箭头就应该通过CSS的background-image属性加上去,而不是直接作为img出现。
    这个我以前忽略了,呵呵,学习。
     回复 引用 查看   
  100. #119楼 兰悦儿      2011-05-31 14:04
    作为内容的图片是一定要放到img里面的,这没有更好的选择了。然而如果图片不是作为内容,而是作为修饰性的,则千万不要用img。对于非内容的图片,应该在CSS中引用,而不在XHTML中出现。例如每一个导航链接有一个前导的箭头指示,那么这些箭头就应该通过CSS的background-image属性加上去,而不是直接作为img出现。
    这个我以前忽略了,呵呵,学习。
     回复 引用 查看   
  101. 评论共2页: 上一页 1 2