首页 > 教程 > 关键词  > table CSS 布局 div 网页设最新资讯  > 正文

CSS技巧,像table一样布局div

2007-04-20 10:23 · 稿源:蓝色理想

  许多网页设计师都喜欢,将两个或者多个容器等高的并排放置,并在里面展示每个容器的内容,就象经典表格布局中的单元格控制几个栏目的位置,也喜欢容器的内容居中或顶部对齐显示。


  但是你又不喜欢用table来实现他,那怎么办呢?实现的方法很多,有根据视觉错觉实现的,有用JS控制使高度相等的,还有采用容器溢出部分隐藏和列的负底边界和正的内补丁相结合的方法来解决列高度相同的问题。


  其实有个简单的方法,使用display:table, display:table-row and display:table-cell 就可以实现,而且高度小的容器会自适应那些高度相对较高的,但是IE不支持这个属性,我们先不用去责备IE,相信以后会有所改善的。这里我制作了一个模型。


  先看看xhtml的结构:

以下为引用的内容:
<div class="equal">
<div class="row">
<div class="one"></div>
<div class="two"></div>
<div class="three"></div>
</div>
</div>

  很简单不用解释就能看懂,但是这里给出一个table的结构,是不是很相似

以下为引用的内容:
<table>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
</table>

  下来是css:

以下为引用的内容:
.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 {

}

  解释:


  1.dispaly:table;让层.equal作为块级元素的表格table显示,也就是将他作为一个表格
  2.border-collapse:separate;边框独立,就像表格没有合并单元格以前
  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经过测试均可以完美显示。

  上面的问题就是,这个模型对IE来说等同于垃圾,所以基本只能是做来玩玩而已,没有什么实际的用处,现在我要做的就是,让它也能在IE下更好的显示,所以我又做了第二个模型。


  xhtml结构类似第一个模型 的只是增加一个新的div给IE。


以下为引用的内容:
<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>

  给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;
height:0;
padding:0;
font-size: 2px;
line-height:0;
}
</style>
<![endif]-->

  到此,整个设计真正的完成了,虽然不够完美,对非IE而做出努力显得有点多余,现在要么IE支持第一个模型,要么我们可能会想出更好的方案来。但是这次尝试是有价值的。

举报

  • 相关推荐
  • 腾讯云TencentOS提交Swap Table补丁系列 Linux内核内存交换性能提升20%~30%

    腾讯云操作系统团队提交了名为Swap Table的补丁系列,针对Linux内核交换子系统进行优化。该系列在4K页面和mTHP folios场景下,使系统性能提升20%-30%。Swap Table通过智能调度机制优化数据定位,支持大页尺寸减少操作次数,并实现动态空间扩展。27项独立改进解决了历史遗留问题,经实测性能显著提升。目前补丁系列正处于审核阶段,有望纳入Linux内核主线。这是腾讯云团队继内存控制组、页面热管理等创新后,在操作系统核心技术领域的又一突破,将强化TencentOS Server的高性能优势。

  • Custouch市场易AI技术入选Topdigital2025全球AI营销图谱

    《TopDigital2025全球AI营销图谱》近日发布,Custouch市场易入选"内容智能生成"板块。该图谱为AI技术重构营销提供全链路产业地图,整合企业官网、学术报告、专利库等多维度信息。Custouch凭借AI技术在B2B营销领域的创新应用入选,其智能解决方案能有效满足企业实际需求。作为数字营销技术服务商,Custouch已为300+国际头部企业提供一站式营销管理体系,涵盖内容、活动、线索等全流程,助力企业实现高质量增长。此次入选既是对其AI成果的肯定,也是对其未来发展的激励。

  • AI日报:扣子空间网页设计功能上线;阿里Wan 2.2即将上线;​OpenAI即将发布 GPT-5

    【AI日报】今日AI领域重要动态:1)Coze推出网页AI设计功能,5分钟生成网页;2)通义千问发布Qwen-MT翻译模型,支持92种语言;3)ChatGPT全面推出Agent功能;4)阿里云Wan2.2视频生成AI即将上线;5)Anthropic推出审计Agent提升AI对齐测试;6)OpenAI计划8月发布GPT-5;7)谷歌发布无代码AI应用开发工具Opal;8)南洋理工与上海AI Lab推出PhysX-3D项目,为3D模型添加物理属性;9)快手开源KAT-V1大模型,40B版本性能接近DeepSeek-R1;10)讯飞星火X1升级版上线,在多语言和语音处理方面显著提升。(140字)

  • 淘宝天下入选《TopDigital2025全球AI营销图谱》

    7月29日,淘宝天下凭借AI服务平台"淘宝AI智+"的创新实践,成功入选《TopDigital2025全球AI营销图谱》"智能分析与决策"赛道。该平台整合淘宝生态数据资源,构建覆盖数据分析、智能营销、内容生成等全链路的AI解决方案体系,通过模块化设计降低使用门槛,帮助商家实现降本增效。平台还提供深度定制开发服务,推动AI能力与业务场景有机融合。此次入选标志着淘宝天下在AI技术创新与商业应用方面的成果获得行业认可。团队表示将持续聚焦AI技术实用价值转化,拓展电商营销领域的创新应用场景。

  • Razer(雷蛇)在新加坡设立AI CENTER OF EXCELLENCE,加速人工智能投资布局

    雷蛇宣布在新加坡设立全球AI卓越中心,并计划在欧洲和美国建立类似机构,推动游戏与开发者工具领域的创新。新加坡中心将招聘150名AI工程师,专注于下一代AI游戏技术研发。雷蛇还推出AI工具套件,包括Game Co-AI和QA Co-AI,帮助开发者提升游戏质量和开发效率。该战略布局正值全球游戏市场快速增长期,预计2033年AI游戏市场规模将达280亿美元。新加坡数字产业发展局表示,此举将巩固该国作为区域AI创新中心的地位。

  • 曝澎湃OS 3最快本月开启Beta版内测:小米16首发

    快科技8月5日消息,博主爆料各厂商将在8月陆续开启下一代操作系统Beta版内测。小米16系列预计9月发布,将搭载澎湃OS 3系统。该系统新增"灵动岛"功能,利用前置摄像头周围区域显示卡片、弹窗等信息,用户无需打开应用即可查看导航、播放进度等内容。此外,澎湃OS 3将升级AI体验,强化"超级小爱"功能,支持文字、语音、图片等多种内容识别及实时对话交互。新系统还优化了智能助手理解力,可处理更复杂的生活场景需求。(140字)

  • Checkout.com携手Visa推出发卡业务 (Card Issuing)

    Checkout.com与Visa达成战略合作,在英国及欧洲地区推出全方位发卡业务。通过Visa全球支付网络,商户可即时获取收款资金用于支付供应商款项,显著提升资金使用效率。该合作特别针对旅游业企业,解决其支付流程分散、资金周转慢的痛点。Checkout.com每年处理数千亿交易的技术能力与Visa网络结合,帮助商户消除预存资金需求,优化现金流管理。双方表示这将大幅提升欧洲商户运营效率,释放增长潜力。

  • Matrixport 收购瑞士合规加密资管公司,布局欧洲加密投资市场

    2024年9月30日,Matrixport宣布完成对瑞士持牌加密资产管理公司Crypto Finance(Asset Management)AG(CFAM)的收购。通过此次收购,Matrixport获得FINMA颁发的泛欧洲准入资质,将为欧洲市场提供合规加密资产管理服务。CFAM是瑞士首个面向大众发行加密投资产品的资管公司,2018年获FINMA牌照,2022年成为瑞士资管协会首个专注加密资管服务的成员。此次收购将助力Matrixport快速抢占欧洲合规加密市场,完善其全球合规布局。Matrixport此前已获得香港信托牌照、英国FCA授权等资质,目前管理资产规模达60亿美元。

  • 苹果发布iOS 26 Beta 4:液态玻璃又变了

    苹果今天发布了iOS 26的第四个开发者预览版,液态玻璃的效果又调整了。 目前来看,苹果内部也非常纠结,一方面想要呈现出完美的液态玻璃效果,但一方面有又要根据用户反馈进行削弱,否则会出现卡顿和易读性问题。 在上一版将液态玻璃效果大砍之后,这次又加回来了一些,减少了普通磨砂玻璃效果,不过变化比较小,文本仍然可读,更像是在Beta 2和Beta 3之间取得平衡�

  • 文远知行与阿布扎比综合交通中心合作,扩大Robotaxi在阿运营范围

    2025年7月29日,文远知行与Uber合作在阿布扎比推出Robotaxi服务,覆盖阿尔雷姆岛和阿尔马里亚岛等核心区域。这是中东地区规模最大的自动驾驶车队,采用文远知行新一代GXR车型,每车可载5人。服务范围已覆盖阿布扎比近半核心区,包括主要住宅区和商业中心。自2024年12月启动以来,车队规模已增长三倍,日均完成数十次订单。该项目是阿布扎比智能交通战略的重要部分,目标到2040年实现25%公共交通依赖智能出行。合作方表示,这将推动自动驾驶技术在中东地区的主流化应用。

热文