设为首页收藏本站订阅更新

无忧脚本

 找回密码
 加入无忧

QQ登录

只需一步,快速开始

搜索
查看: 6585|回复: 13

[原创] 也玩玩DIV+CSS,谈谈小感受

[复制链接]
发表于 2008-12-19 20:59:21 | 显示全部楼层 |阅读模式
本帖最后由 missde 于 2011-11-28 09:59 编辑

  老板不懂网站,我告诉他DIV+CSS是比TABLE有许多好处的。他问我有啥好处,于是我GG了一些好处给老板看。老板说,既然DIV+CSS结构好,方便改版,你就给我弄段代码玩玩吧。没有办法,人家给了咱钱,咱就得当猴子。
  于是我想到了以前玩仿长城的DIV+CSS。这种栏目结构有上下结构,左右结构二种。以前玩的时候,二种结构做过比较,可以在不变HTML的时候,通过CSS来调整。如下的HTML:
<div>
        <h3>
                <a>论坛精华热贴</a>
                <a id="i_menu_a">论坛精华热贴</a>
        </h3>
        <div class="msg">
                <div></div>
        </div>
</div>
--------------
可以通过下面的CSS变成/*左右长城*/
.lr h3 #i_menu_a,.lr .msg{border:1px solid #83CDE2;}
.lr h3{margin:0;padding:0;width:121px;float:left;}
.lr h3 a{margin:0 0px 5px 3px;display:block;width:120px;border:1px solid #DAE2E5;line-height:34px;text-align:center;color:#666;border-right:none;}
.lr h3 #i_menu_a{margin:0 0px 5px 3px;border-right:none;background:#F7FCFF;}
.lr .msg{margin-left:123px;background:#F7FCFF;}
.lr .msg div{height:200px;}
------------------
可以通过下面的CSS变成/*上下长城*/
.hd{clear:both;}
.hd h3 #i_menu_a{border:1px solid #83CDE2;}
.hd .msg{border:1px solid #f00;}
.hd h3{margin:0;padding:0;border-top:1px solid #fff}
.hd h3 a{float:left;margin:0px 5px 0 0;display:block;height:34px;width:120px;border:1px solid #DAE2E5;line-height:34px;text-align:center;border-bottom:none;}
.hd .msg{margin-top:35px;}
.hd .msg div{height:200px;clear:both}

于是耍给老板看。并且说,看看,前期结构搞的好,后期只需要修必CSS就能把网站变个翻天覆地!
其实这是瞎掰,CSS是有这本事,瞎掰的是哪个哥们可以在前期把结构搞的好。
代码演示地址:http://www.missde.cn/zuopin/csstab.html


不懂,瞎耍,请各位高人不要笑话!!请各位朋友们批评指点!!


  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=gbk">
  4. <style type="text/css">
  5. *{font-size:13px;}
  6. /*左右长城*/
  7. .lr h3 .a,.lr .msg{border:1px solid #83CDE2;}
  8. .lr h3{margin:0;padding:0;width:121px;float:left;}
  9. .lr h3 a{margin:0 0px 5px 3px;display:block;width:120px;border:1px solid #DAE2E5;line-height:34px;text-align:center;color:#666;border-right:none;}
  10. .lr h3 .a{margin:0 0px 5px 3px;border-right:none;background:#F7FCFF;}
  11. .lr .msg{margin-left:123px;background:#F7FCFF;}
  12. .lr .msg div{height:100px;}/*不能直接给.msg加高*/


  13. /*上下长城*/
  14. .hd{clear:both;}
  15. .hd h3 .a{border:1px solid #83CDE2;}
  16. .hd .msg{border:1px solid #f00;}
  17. .hd h3{margin:0;padding:0;border-top:1px solid #fff}
  18. .hd h3 a{float:left;margin:0px 5px 0 0;display:block;height:34px;width:120px;border:1px solid #DAE2E5;line-height:34px;text-align:center;border-bottom:none;}
  19. .hd .msg{margin-top:35px;}
  20. .hd .msg div{height:100px;clear:both}/*不能直接给.msg加高*/


  21. pre{display:block;border:1px dashed #c4d3fa;padding:10px;background:#eef3ff;width:770px;}
  22. xmp{width:360px;height:150px;overflow:hidden;overflow-y:scroll;float:left;border:1px solid #ddd;padding:5px;}

  23. dl dt{margin:0;background:#c4d3fa;line-height:30px;padding:0 10px;width:770px;}
  24. dl dd{width:370px;float:left;margin:0;padding:10px;}
  25. dl dd .box{height:145px;overflow:hidden;}
  26. </style>

  27. <pre>
  28. /*
  29. * CSS不如XSL可以自由调整HTML顺序,但对于简单的结构调整,还是可以做到的。
  30. * 在不改变HTML代码情况下,使用CSS改变网页显示结构事例。
  31. * 这是在切割<a href="zuopin/ccbbs/">CCBBS</a>页面时的一个思考。
  32. * By missde.cn 2007-05
  33. *
  34. */
  35. </pre>
  36. <dl>
  37. <dt>同一DIV结构,不同的CSS,可以改变显示效果</dt>
  38. <dd style="border-right:5px solid #c4d3fa">

  39. <div class="box">
  40. <div class="hd">
  41. <h3>
  42. <a>论坛精华热贴</a>
  43. <a class="a">论坛精华热贴</a>
  44. </h3>
  45. <div class="msg">
  46. <div>内容</div>
  47. </div>
  48. </div>
  49. </div>
  50. <xmp>
  51. <style type="text/css">
  52. /*上下结构*/
  53. .hd{clear:both;}
  54. .hd h3 .a{border:1px solid #83CDE2;}
  55. .hd .msg{border:1px solid #f00;}
  56. .hd h3{margin:0;padding:0;border-top:1px solid #fff}
  57. .hd h3 a{float:left;margin:0px 5px 0 0;display:block;height:34px;width:120px;border:1px solid #DAE2E5;line-height:34px;text-align:center;border-bottom:none;}
  58. .hd .msg{margin-top:35px;}
  59. .hd .msg div{height:100px;clear:both}
  60. </style>
  61. <div class="hd">
  62. <h3>
  63. <a>论坛精华热贴</a>
  64. <a class="a">论坛精华热贴</a>
  65. </h3>
  66. <div class="msg">
  67. <div>内容</div>
  68. </div>
  69. </div></xmp>
  70. </dd><dd>
  71. <div class="box">
  72. <div class="lr">
  73. <h3>
  74. <a>论坛精华热贴</a>
  75. <a class="a">论坛精华热贴</a>
  76. </h3>
  77. <div class="msg">
  78. <div>内容</div>
  79. </div>
  80. </div>
  81. </div>
  82. <xmp>
  83. <style type="text/css">
  84. /*左右结构*/
  85. .lr h3 .a,.lr .msg{border:1px solid #83CDE2;}
  86. .lr h3{margin:0;padding:0;width:121px;float:left;}
  87. .lr h3 a{margin:0 0px 5px 3px;display:block;width:120px;border:1px solid #DAE2E5;line-height:34px;text-align:center;color:#666;border-right:none;}
  88. .lr h3 .a{margin:0 0px 5px 3px;border-right:none;background:#F7FCFF;}
  89. .lr .msg{margin-left:123px;background:#F7FCFF;}
  90. .lr .msg div{height:100px;}/*不能直接给.msg加高*/
  91. </style>
  92. <div class="lr">
  93. <h3>
  94. <a>论坛精华热贴</a>
  95. <a class="a">论坛精华热贴</a>
  96. </h3>
  97. <div class="msg">
  98. <div>内容</div>
  99. </div>
  100. </div></xmp>
  101. </dd>
  102. </dl>

复制代码




发表于 2008-12-19 23:44:08 | 显示全部楼层
玩的很好
发表于 2009-1-3 01:28:35 | 显示全部楼层
有点意思
做这行就是这样啦
发表于 2009-1-3 11:06:33 | 显示全部楼层
HTTP 404
发表于 2009-1-3 13:07:23 | 显示全部楼层
玩得不错
发表于 2009-2-1 10:31:25 | 显示全部楼层
你的东西在IE、FF下看,不一样的哦
 楼主| 发表于 2009-2-11 11:42:10 | 显示全部楼层
原帖由 harry 于 2009-2-1 10:31 发表
你的东西在IE、FF下看,不一样的哦



谢谢提醒!!
简单的修改一下,即可。如下:
.hd h3{margin:0;padding:0;border-top:1px solid #fff}
发表于 2009-2-11 14:33:50 | 显示全部楼层
 楼主| 发表于 2011-11-28 10:00:23 | 显示全部楼层
发表于 2011-12-12 19:16:35 | 显示全部楼层
我是IE6看到是不一样
发表于 2012-5-6 12:26:15 | 显示全部楼层
都把这些事叫做玩,请问下你不是专门搞这个的?
发表于 2012-5-9 16:55:12 | 显示全部楼层
看得懂,现在还不感到陌生
发表于 2013-2-12 19:06:13 | 显示全部楼层
CSS是不是真的很难学?其实不难,只是缺少了掌握的经验,拿着一本书硬肯,有没有收获?有!
但可能成效不大,作为过来人我觉得被动学习想要记住的东西是很难的,学习它我的经验是可以先掌握精要(重要属性开始),待掌握精要自然而然这些属性远远不够满足自己的需求引起自己求知的欲望,自动延伸其他相关的属性从而自然掌握和加深对CSS的认识。这是我认为的一种方法(可惜我学的时候要是有人这么告诉我会走少很多弯路)。第一次写经验和大家共享,语言组织上或许有些欠缺,还请网友包含,但相信在以后更多的经验中,会写的更好。以下是我总结的一些经验和我认为必要讲的一些概念性解释。有经验分享欢迎发表评论共同探讨。

  在现时的网页技术中,CSS+DIV已经成为一种主流的网站标准,我们可以称他为(web标准)。CSS是英语Cascading Style Sheets(层叠样式表单)的缩写,它是一种用来表现 HTML 或 XML 等文件式样的计算机语言。

  在了解和学习CSS之前,首先我们要了解这种计算机语言对我们存在着那些优势和方便,理解这个我个人觉得很基础但也很必要,有助于明确CSS+DIV学习目的。本人综合网站技术和设计人员的体会,并从网络应用的角度,将CSS+DIV网站设计的优势和问题归纳如下:

  首先,CSS的极大优势表现在简洁的代码,对于一个大型网站来说,可以节省大量带宽(真正意义在于,增加了有效关键词占网页总代码的比重)使用web标准制作的网站具有搜索引擎友好有一定优势;从程序与网页的美工方面,两者可以相互独立再结合从而减轻工作量避免重负开发。

  其次是CSS+DIV制作的网站使得网站改版相对简单,很多问题只需要改变CSS而不需要改动程序,从而降低了网站改版的成本,节省很多的时间。在和开发室的同事都有合作过类似的项目案例,相信同事对这点或多或少能感觉到实质的方便感受。

  最后一点是在刚开始接触的时候感觉很不好控制,反而觉得table更好控制方位,并且有可能会有抵触使用DIV编写写网页布局的情绪。其实这个是一个适应过程,我们可以通过大量的实际操作和练习并用心领会要点。之后就能感觉得出它确实是千变万化,一个页面不同的布局有可能有不同实现布局的写法,但无论如何写法都好,代码都是朝一个原则走的:就是:定义的名称尽可能的通用性,也就是用最少的代码定义更多的盒模具我称它为(一名多用);命名要规范性、组合性,方便其他设计师见名解用。另外一个是关于使用ID还是使用Class,对于这个有很多人可能会很模糊。其实是相对的,不过现在我写的习惯主要是使用class比较多,我觉得这个更方便并适合自己的编写习惯。

  以下是我整理认为需要首先认识和掌握基本常用的属性:

  CSS必须了解和掌握的重要属性:

  margin : auto | length 由浮点数字和单位标识符组成的长度值 | 百分数。百分数是基于父对象的高度。对于内联对象来说,左右外延边距可以是负数值。

  padding : length 由浮点数字和单位标识符组成的长度值 | 或者百分数。百分数是基于父对象的宽度。

  float : none | left |right 这个是浮动,在定义布局中必定用到的属性,在使用它的时候要注意产生的走位和浏览器兼容性问题,要在很多的实践操作中多了解这个属性。有这个属性就要了解以下这个配套使用的属性“清除”

  clear : none | left |right | both; none 允许两边都可以有浮动对象both不允许有浮动对象;left不允许左边有浮动对象 right不允许右边有浮动对象。

  background:url(images/aardvark.gif) left top no-repeat | repeat-x | repeat-y 定义背景图片来美化版面也是我们很常用到的属性。

  overflow : visible | auto | hidden | scroll 这个作用在布局中我通常利用他来防止、解决浏览器兼容出现问题

  border:1px solid #CCCCC 这个是定义边框大小,线条,颜色的属性。

  list-style-image list-style-position list-stle-type 这个列表属性通常使用在有序列表和无序列表当中,列表在定义网页标题索引文字连接中经常使用,这是验证CSS定义优越于表格的典型代表。

  以上是我认为在学习CSS中必须要熟记和理解的CSS属性,充分理解了它门的特性能够大大提高我们应用布局的自由度。所以学习这个并不是很难,掌握以上样式你会发觉,以前不了解的时候做起页面来感觉力不从心,掌握后很自然根据自己的逻辑思维完全可以去实现自己想要的布局和版面,并且CSS抵触情绪会缓解很多。

  谈到这,我要提出一个很常见的问题。我认为WEB标准并不是禁止table全部使用DIV,包括我自己刚开始的时候也有这样的错误想法,“标准”我的理解是规范设计师养成一个良好的编写习惯,达到一种主流的统一。有的情况下表格的在网页的功能实现上还是会有优越于DIV的时候,并且无节制DIV使用过多耗费ie解析增加cpu负担。这也是我们值得注意的问题。

  掌握以上常用的属性的同时,下面通过参考网络博客由设计铭 编写的一个CSS三列布局模板,主要围绕如何掌握CSS精要,学习网页布局教程实例模板,网友可以下载该模板根据文章内容细心琢磨,从而领会掌握技术。该模板经过本站编排涵盖上面列出重要的CSS属性。

  由于是布局教程例子,在版面的细节上没有花更多时间精细修饰,不过我觉得模板的版面不错,懂CSS的可以下载进行更细致的美工将会是一个很不错的网页,初步学习的可以下载来修改修改属性参数从而更形象掌握属性的特性,以达到更深掌握CSS的目的。

详细出处参考:http://www.csdn123.com/html/2013 ... 3768.htm#csdntitle2
发表于 2013-2-19 21:23:31 | 显示全部楼层
您需要登录后才可以回帖 登录 | 加入无忧

本版积分规则

小黑屋|手机版|Archiver|无忧脚本 ( 苏ICP备05080427号 )|值班电话:027-62300445   鄂公网安备 42011102000433号

GMT+8, 2018-12-11 14:06 , Processed in 0.093443 second(s), 8 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表