首页 > 其他分享 >css常用布局之圣杯布局和双飞翼布局

css常用布局之圣杯布局和双飞翼布局

时间:2024-10-23 17:34:12浏览次数:1  
标签:圣杯 width color 布局 双飞翼 background 200px left

圣杯布局(Holy Grail Layout)和双飞翼布局(Double Wing Layout)都是用来实现三列布局的常见技术,其中两侧列宽度固定,中间列宽度自适应,并且中间列在文档流中优先渲染。以下是两种布局的详细介绍和代码示例:

圣杯布局(Holy Grail Layout)

特点:

  • 使用相对定位和负边距来实现侧边栏的定位。
  • HTML结构简单,只需要一个容器包裹所有列。

CSS代码示例:

 
body {
  min-width: 550px;
}
#header {
  background-color: #999999;
}
#middle {
  padding-left: 200px;
  padding-right: 150px;
}
#middle .column {
  float: left;
  height: 200px;
}
#left {
  width: 200px;
  background-color: #FFFF00;
  margin-left: -100%;
  position: relative;
  right: 200px;
}
#center {
  width: 100%;
  background-color: pink;
}
#right {
  margin-right: -150px;
  width: 150px;
  background-color: #CCCCCC;
}
#footer {
  background-color: #999999;
}
.clearfix:after {
  display: table;
  content: '';
  clear: both;
}

HTML结构:

<div id="header">header</div>
<div id="middle" class="clearfix">
  <div id="center" class="column">center</div>
  <div id="left" class="column">left</div>
  <div id="right" class="column">right</div>
</div>
<div id="footer">footer</div>

双飞翼布局(Double Wing Layout)

特点:

  • 通过使用嵌套的 <div> 来实现侧边栏的定位,以及使用负外边距将主内容区域撑开。
  • HTML结构中,中间内容部分被额外的div包裹。

CSS代码示例:

body {
  min-width: 550px;
}
.col {
  float: left;
}
#main {
  width: 100%;
  height: 200px;
  background-color: #FFC0CB;
}
#main-wrap {
  margin: 0 200px 0 150px;
}
#left {
  width: 150px;
  height: 200px;
  background-color: #FFFF00;
  margin-left: -100%;
}
#right {
  width: 200px;
  height: 200px;
  background-color: #cccccc;
  margin-left: -200px;
}

HTML结构:

<div id="main" class="col">
  <div id="main-wrap">
    main
  </div>
</div>
<div id="left" class="col">
  left
</div>
<div id="right" class="col">
  right
</div>

这两种布局方式都能很好地解决三列布局的问题,选择哪一种取决于个人喜好和项目需求。圣杯布局通过在中间列使用padding和负margin来实现布局,而双飞翼布局则在中间列内部添加一个子容器,并通过margin来留出左右两侧列的空间。

标签:圣杯,width,color,布局,双飞翼,background,200px,left
From: https://www.cnblogs.com/likai87/p/18497894

相关文章

  • css常用布局之flex布局
     Flexbox是一个一维的布局模式,它可以轻松地在不同的方向上排列子元素(称为flex项),即使它们的大小是未知或者是动态变化的。以下是Flexbox的一些关键概念:容器和项:启用Flexbox布局的容器称为flex容器。容器内的所有子元素自动成为flex项。主要轴和交叉轴:主要......
  • css常用布局之grid布局
    Grid布局是一个二维的布局系统,可以同时处理行和列,使其非常适合复杂的页面布局。以下是Grid的一些关键概念:容器和项:启用Grid布局的容器称为grid容器。容器内的所有子元素自动成为grid项。网格线和单元格:网格线是定义网格大小和位置的线。单元格是两条水平网......
  • HTML布局常用标签——div和span
    HTML布局常用标签——div和span在HTML的世界里,div和span是两位不可或缺的老朋友,它们虽然看似简单,却在网页布局和样式设计中发挥着举足轻重的作用。今天,我们就来聊聊这两位“无意义”却极其实用的标签——div和span。一、div:块级元素的大块头1.定义与特点div,全称“division”,......
  • HarmonyOS ArkUI性能优化实践:布局性能优化
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(MaoistLearning)➤博客园地址:为敢技术(https://www.cnblogs.com/strengthen/ )➤GitHub地址:https://github.com/strengthen➤原文地址:https://www.cnblogs.com/strengthen/p/......
  • CSS基础速刷 - 非布局样式(未完待续)
    全称:CascadingStyleSheet2.选择器选择器{属性:值;属性:值;}选择器用于匹配HTML元素,有不同的匹配规则,多个选择器可以叠加。浏览器解析CSS选择器方式和我们写选择器的方式是相反的:从右往左选择器分类伪元素(双冒号)是真实存在的元素,可以被显示出来的元素;伪类(单冒号),当鼠......
  • 屏幕“布局”运行错误之CALLBACK REJECTED BY WHITELIST
    点击屏幕中布局按钮报错 ST22图形屏幕绘制器中的运行时错误SAP的NOTE说明SM59维护TCP/IP链接,编辑回调准许列表,粘贴后保存即可TRANSLATEwithxEnglishArabicHebrewPolishBulgarianHindiPortugueseCatalanHmongDawRomanianChineseSimplif......
  • 逼自己看完!!CSS布局技术之——两列布局
    看完你就又多学了一点了!两列布局样式 CSS3中提供了多列布局的支持,可以将文本内容以多列的形式进行排列。通过设置列数和间距等属性,可以控制列布局的样式。很多网站都有些共同的特点,如页面顶部放置一个大的导航栏或广告条,右侧是链接或图片,左侧放置主要内容,页面底部放置版权......
  • 51单片机PCB板布线走线布局及附铜封装
    51单片机PCB板布线走线布局及附铜封装前言大家好,本文章要给大家分享的是51单片机PCB板布线走线布局及附铜封装。在制作51单片机布线及附铜封装时,首先需要了解单片机的工作原理和电路设计基础。布线是电路设计中的关键步骤,它关系到电路的性能和可靠性。附铜封装则是为了提......
  • 解析华为鸿蒙next:Web组件自适应布局与渲染模式详解
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。Web组件大小自适应页面内容布局使用......
  • 浅谈flex布局
    flex布局1.flex布局如何生效如图所示,在一个父盒子中有三个子盒子.代码如下:<divclass="bigbox"><span>1</span><span>2</span><span>3</span></div>大家看到这里不禁会有个疑问:为什么sp......