圣杯布局跟双飞翼布局的实现,目的都是左右两栏固定宽度,中间部分自适应。接下来通过本文教程给大家介绍CSS布局之圣杯布局与双飞翼布局,感兴趣的朋友一起学习吧
按照我的理解,其实圣杯布局跟双飞翼布局的实现,目的都是左右两栏固定宽度,中间部分自适应。
圣杯布局
实现原理
html代码中,middle部分首先要放在container的最前部分,然后是left,right
1.将三者都设置 float:left, position:relative (因为相对定位后面会用到)
2.middle设置 width:100% 占满一行
3.此时middle占满一行,所以要把left拉到middle所在行的最左边,使用 margin-left:-100%
4.这时left拉回到middle所在行的最左边,但会覆盖middle内容的左端,要把middle内容拉出来,所以在外围container加上 padding:0 210px
5.middle内容拉出来了,但left也跟着出来了,所以要还原,就对left使用相对定位 left:-210px
6.同理,right要拉到middle所在行的最右边,使用 margin-left:-210px,right:-210px
实现代码
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title>圣杯布局</title> <style type="text/css"> body { text-align: center;; } #demo { margin: auto; } #header, #footer { height: 50px; background-color: #aaa; } #container { overflow: hidden; margin: 10px 0; padding:0 210px; } #left { background-color: red; float:left; position:relative; left:-210px; width:200px; margin-left:-100%; } #right { background-color: green; width: 200px; margin-left: -200px; float: left; right: -210px; position: relative; } #middle { background-color: blue; float:left; width:100%; } </style> </head> <body> <p id="demo"> <header id="header">头部</header> <p id="container"> <p id="middle"> middle<br>主内容区域 </p> <p id="left"> left<br>左侧边栏区域 </p> <p id="right"> right<br>右侧边栏区域 </p> </p> <footer id="footer">底部</footer> </p> </body> </html>
双飞翼布局
实现原理
html代码中,middle部分首先要放在container的最前部分,然后是left,right
1.将三者都设置 float:left
2.middle设置 width:100% 占满一行
3.此时middle占满一行,所以要把left拉到middle所在行的最左边,使用 margin-left:-100%,同理right使用 margin-left:-200px
4.此时middle的内容被覆盖,要把middle的内容拉出来,除了使用外围container的padding,还可以考虑使用margin,给middle增加一个内层p -- middle_content, 然后设置 margin:0 210px
实现代码
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title>双飞翼布局</title> <style type="text/css"> body { text-align: center;; } #header, #footer { height: 50px; background-color: #aaa; } #container { overflow: hidden; margin: 10px 0; } #left { background-color: red; float:left; width:200px; margin-left: -100%; } #right { background-color: green; width: 200px; float: left; margin-left: -200px; } #middle { float: left; width: 100%; } #middle_content { background-color: blue; margin: 0 210px; } </style> </head> <body> <p id="demo"> <header id="header">头部</header> <p id="container"> <p id="middle"> <p id="middle_content"> middle_content<br>主内容区域 </p> </p> <p id="left"> left<br>左侧边栏区域 </p> <p id="right"> right<br>右侧边栏区域 </p> </p> <footer id="footer">底部</footer> </p> </body> </html>
关于CSS布局之圣杯布局与双飞翼布局 的相关知识就给大家介绍这么多,希望对大家有所帮助!
以上是详解CSS布局之圣杯布局与双飞翼布局示例的详细内容。更多信息请关注PHP中文网其他相关文章!

在这篇文章中,布莱克·莫里(Blackle Mori)向您展示了一些骇客,同时试图推动同位HTML支持的极限。如果您敢于使用这些,以免您也被标记为CSS罪犯。

具有CSS的自定义光标很棒,但是我们可以将JavaScript提升到一个新的水平。使用JavaScript,我们可以在光标状态之间过渡,将动态文本放置在光标中,应用复杂的动画并应用过滤器。

互动CSS动画和元素相互启动的元素在2025年似乎更合理。虽然不需要在CSS中实施乒乓球,但CSS的灵活性和力量的增加,可以怀疑Lee&Aver Lee&Aver Lee有一天将是一场

有关利用CSS背景滤波器属性来样式用户界面的提示和技巧。您将学习如何在多个元素之间进行背景过滤器,并将它们与其他CSS图形效果集成在一起以创建精心设计的设计。

好吧,事实证明,SVG的内置动画功能从未按计划进行弃用。当然,CSS和JavaScript具有承载负载的能力,但是很高兴知道Smil并没有像以前那样死在水中

是的,让#039;跳上文字包装:Safari Technology Preview In Pretty Landing!但是请注意,它与在铬浏览器中的工作方式不同。

此CSS-tricks更新了,重点介绍了年鉴,最近的播客出现,新的CSS计数器指南以及增加了几位新作者,这些新作者贡献了有价值的内容。

在大多数情况下,人们展示了@Apply的@Apply功能,其中包括Tailwind的单个property实用程序之一(会改变单个CSS声明)。当以这种方式展示时,@Apply听起来似乎很有希望。如此明显


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

Atom编辑器mac版下载
最流行的的开源编辑器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

Dreamweaver Mac版
视觉化网页开发工具

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

WebStorm Mac版
好用的JavaScript开发工具