相关文章
北京网站设计网页制作中常用的一些代码小结
网站建设DIV+CSS布局网页页面实现多风格选择的方法
网站制作网页布局的位置重心与位置间的对比关系
企通互联概念设计和设计师的综合思考
网站建设网页设计基本配色参考色谱——职业
网页设计JS特效:用鼠标事件实现图片的渐显效果
网站制作网页制作实用小技巧:去除链接虚线框
北京网站建设想建站?应该如何定位和掌握什么技术?
北京网站设计如何提高网站的访问速度 - 从30秒到3秒的改变
北京网站建设网站设计的思考(八)
品牌理念
北京网站建设最佳合作伙伴
北京网站建设专家企通互联
竭诚为您提供网站建设服务!
友好连接
文章搜索
你的位置:首页 >> 网页设计 >> 企通互联北京网页设计CSS技巧,像table一样布局div
企通互联北京网页设计CSS技巧,像table一样布局div
许多网页设计师都喜欢,将两个或者多个容器等高的并排放置,并在里面展示每个容器的内容,就象经典表格布局中的单元格控制几个栏目的位置,也喜欢容器的内容居中或顶部对齐显示。 中.国.站.长.站
北京网页设计
但是你又不喜欢用table来实现他,那怎么办呢?实现的方法很多,有根据视觉错觉实现的,有用JS控制使高度相等的,还有采用容器溢出部分隐藏和列的负底边界和正的内补丁相结合的方法来解决列高度相同的问题。
网站制作
其实有个简单的方法,使用display:table, display:table-row and display:table-cell 就可以实现,而且高度小的容器会自适应那些高度相对较高的,但是IE不支持这个属性,我们先不用去责备IE,相信以后会有所改善的。这里我制作了一个模型。
北京网页设计
先看看xhtml的结构: Www^Chinaz^com
| 以下为引用的内容:北京网页设计 <div class="equal">网站建设 <div class="row">企通互联 <div class="one"></div>网页设计 <div class="two"></div>北京网页设计 <div class="three"></div>北京网页设计 </div>北京网站设计 </div> |
站.长.站
很简单不用解释就能看懂,但是这里给出一个table的结构,是不是很相似 Chinaz@com
| 以下为引用的内容:北京网站设计 <table>北京网站建设 <tr>北京网站建设 <td></td>网站设计 <td></td>北京网站设计 <td></td>北京网站制作 </tr>北京网站建设 </table> |
中.国.站.长.站
下来是css: Www_Chinaz_com
| 以下为引用的内容: 北京网站设计企通互联 .equal {网站制作 display:table;网站建设 border-collapse:separate;北京网站建设 }网站建设 .row {北京网站建设 display:table-row;网站建设 }网站建设 .row div {北京网页设计 display:table-cell;网页设计 }北京网站设计 .row .one {网站制作 width:200px;北京网页设计 }北京网站设计 .row .two {网站制作 width:200px;企通互联 }北京网站设计 .row .three {企通互联 北京网站建设 } |
Chinaz^com
解释: Www^Chinaz^com
网站制作
网站建设 1.dispaly:table;让层.equal作为块级元素的表格table显示,也就是将他作为一个表格企通互联
2.border-collapse:separate; www.qitongnet.com边框独立,就像表格没有合并单元格以前网站制作
3.display:table-row;将.row作为表格行tr显示网页设计
4.display:table-cell;将.row的下级div作为表格单元格td显示北京网站设计
5.然后定义宽度
中.国站长站
北京网站设计
这里还使用了 border-spacing:10px;来区别几个盒子,正如上面所陈述的,IE下不能正常显示,但是在:Mozilla 1.6, Opera 7.50, Safari 1.2.2, Firefox 0.8, OmniWeb 5b, Camino 0.8b, and Netscape 7.1经过测试均可以完美显示。
站长.站
Www_Chinaz_com
上面的问题就是,这个模型对IE来说等同于垃圾,所以基本只能是做来玩玩而已,没有什么实际的用处,现在我要做的就是,让它也能在IE下更好的显示,所以我又做了第二个模型。 Chinaz^com
网站制作
xhtml结构类似第一个模型 的只是增加一个新的div给IE。 Chinaz~com
北京网页设计
| 以下为引用的内容:网站建设 <div class="equal">网页设计 <div class="row">北京网页设计 <div class="one"></div> 北京网站建设企通互联 <div class="two"></div>网站建设 <div class="three"></div>北京网页设计 <!--[if IE]>企通互联 <div class="ieclearer"></div>北京网站设计 <![endif]--> 网站制作站长.站 企通互联</div>北京网站制作 </div> |
Chinaz
给xhtml增加一个判断,判断是否为IE,然后给IE一个特殊待遇,在IE显示和别的浏览器不同的代码,对于这个判断IE\MAC优先选择显示其间的内容。 中国站.长站
网站建设
然后在CSS中也增加一个判断,配合xhtml,用浮动对齐(浮动对齐就不用解释了)的方式来实现容器的等高并排放置,但是还是无法真实的实现等高,你可以采用添加背景颜色的视觉错觉来实现视觉上的等高,或者采用别的方法,这里就不进行说明了。
网站设计
企通互联 下面是CSS中的代码 中国站长.站
网站制作
| 以下为引用的内容:北京网页设计 网站设计 <!--[if IE]>网站设计 <style type="text/css" media="all">北京网站设计 .equal, .row {网页设计 display:block;北京网站建设 }北京网页设计 .row {企通互联 padding:10px;网站建设 }网站建设 .row div {北京网站制作 display:block;网站设计 float:left;网站建设 margin:0;北京网页设计 }网站建设 .row .two {北京网站制作 margin-left:10px;北京网页设计 }北京网站建设 .row .three {网页设计 width:160px;网站设计 float:right;北京网站制作 }北京网站制作 .ieclearer {网站制作 float:none;北京网站制作 clear:both; Chinaz^com 企通互联 height:0;北京网页设计 padding:0;北京网页设计 font-size: 2px;网页设计 line-height:0;网页设计 }北京网站建设 </style>企通互联 <![endif]--> |
站. 北京网页设计长站
到此,整个设计真正的完成了,虽然不够完美,对非IE而做出努力显得有点多余,现在要么IE支持第一个模型,要么我们可能会想出更好的方案来。但是这次尝试是有价值的。