CSS3页面布局-三栏-固定宽度布局

2024-08-24 11:28

本文主要是介绍CSS3页面布局-三栏-固定宽度布局,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

布局的基本概念

多栏布局三种基本实现方案:固定宽度,流动,弹性。

固定宽度布局:大小不会随用户调整浏览器窗口大小。

一版960-1100,960常见,可以被3,4,5,6,8,10,12,16整除。

流动布局:大小会随用户调整浏览器窗口大小而变化。

可以更好适应大屏幕,也叫响应式。

弹性布局:所有元素大小也会变换。

布局高度与布局宽度

布局高度:一般不该设定高度,除非页面上绝对定位的元素。

正常元素保持默认值auto不变,保持垂直居中。

布局宽度:精确控制布局宽度。

总结:一般原则,控制布局宽度,内容决定布局高度。

三栏-固定宽度布局

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>5.2 三栏-固定宽度布局</title><style>#wrapper {width: 960px;margin: 0 auto;border: 1px solid;}nav {width: 150px;float: left;}nav li {list-style-type: none;}article {width: 600px;float: left;background: #ffed53;}aside {width: 210px;float: left;background: #3f7ccf;}header {background: #f00;}footer {color: aliceblue;clear: both;background: #000;}</style>
</head><body><div id="wrapper"><header>固定宽度布局</header><nav><!-- 无序列表 --><ul><li>Link1</li><li>Link2</li><li>Link3</li></ul></nav><article><!-- 文本元素 --><h1>四川合江气温达42.2℃ 连续两天热到全国第一</h1><p>【四川合江气温达42.2℃ 连续两天热到全国第一】财联社8月22日电,据中央气象台官网信息,截至8月22日17时,在逐小时气温实况排行榜中,川渝地区气温在当天11时至17时连续7个小时霸榜全国高温榜“前十”。其中,四川合江在17时以42.2℃热到了全国第一。而在8月21日下午,四川合江的气温也突破40℃,登顶全国高温榜第一。</p><hr /><h1>外交部回应黑神话悟空全球大热</h1><p>21日,外交部发言人毛宁就“中国的国产游戏《黑神话:悟空》上线后,受到国际玩家青睐”作出回应:反映了中国文化的吸引力。</p></article><aside><h1>这是一个侧边栏</h1><p>今年是南开大学建校105周年。8月21日,南开大学2001级校友、字节跳动创始人张一鸣与南开大学2001级校友、字节跳动CEO梁汝波共同捐赠人民币2亿元,主要用于支持南开数学研究和人才培养。</p></aside><footer>这是页脚</footer></div>
</body></html>

为栏设定内边距和边框

  • 让内容和栏边边界空开距离,为栏添加水平外边距和内边距,栏与栏之间增加间距,导致布局宽度增大,使得浮动栏下滑。
  • 在栏中添加大图片,或者长字符串,导致栏宽超过布局宽度,也会导致右侧栏滑到左下方。

防止浮动栏下滑:

  • 从设定的宽度中减去内外边距加边框和,每次都得调整,容易布局错乱。
  • 容器内部元素加上内外边距,加inner的div,内部div自动填充父元素,给内部div设置内外边距,可以保持内容与栏边界的距离,如果容器上下边框不可见,内部div上下外边距会叠加。
  • 用CSS3的box-sizing切换缩放方式,border-box,内外边距不增大,内容变窄。最简单的一个方法,IE6,7不支持,用的腻子脚本(polyfill)解决。

Paul Irish 前端大神

预防过大的元素,加一条{max-width:100%}不超过父元素,另一个是给父元素添加overflow:hidden。

单词太长,添加word-wrap:break-word进行断词。

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>5.2 三栏-固定宽度布局</title><style>* {margin: 0;padding: 0;}#wrapper {width: 960px;margin: 0 auto;border: 1px solid #000;overflow: hidden;}nav {box-sizing: border-box;width: 150px;float: left;background: #dcd9c0;padding: 10px;}nav .inner {padding: 10px;}nav li {list-style-type: none;}article {box-sizing: border-box;width: 600px;float: left;background: #ffed53;padding: 10px 20px;}article .inner {margin: 10px;border: 2px solid red;padding: 20px;}aside {box-sizing: border-box;width: 210px;float: left;background: #3f7ccf;padding: 10px;}aside .inner {padding: 10px;}footer {text-align: center;}header {background: #f00;}footer {color: aliceblue;clear: both;background: #000;}</style>
</head><body><div id="wrapper"><header>固定宽度布局</header><nav><!-- <div class="inner"> --><!-- 无序列表 --><ul><li>Link1</li><li>Link2</li><li>Link3</li></ul><!-- </div> --></nav><article><!-- <div class="inner"> --><!-- 文本元素 --><h1>四川合江气温达42.2℃ 连续两天热到全国第一</h1><p>【四川合江气温达42.2℃ 连续两天热到全国第一】财联社8月22日电,据中央气象台官网信息,截至8月22日17时,在逐小时气温实况排行榜中,川渝地区气温在当天11时至17时连续7个小时霸榜全国高温榜“前十”。其中,四川合江在17时以42.2℃热到了全国第一。而在8月21日下午,四川合江的气温也突破40℃,登顶全国高温榜第一。</p><hr /><h1>外交部回应黑神话悟空全球大热</h1><p>21日,外交部发言人毛宁就“中国的国产游戏《黑神话:悟空》上线后,受到国际玩家青睐”作出回应:反映了中国文化的吸引力。</p><!-- </div> --></article><aside><!-- <div class="inner"> --><h1>这是一个侧边栏</h1><p>今年是南开大学建校105周年。8月21日,南开大学2001级校友、字节跳动创始人张一鸣与南开大学2001级校友、字节跳动CEO梁汝波共同捐赠人民币2亿元,主要用于支持南开数学研究和人才培养。</p><!-- </div> --></aside><footer>这是页脚</footer></div>
</body></html>

这篇关于CSS3页面布局-三栏-固定宽度布局的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1102345

相关文章

使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)

《使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)》PPT是一种高效的信息展示工具,广泛应用于教育、商务和设计等多个领域,PPT文档中常常包含丰富的图片内容,这些图片不仅提升了... 目录一、引言二、环境与工具三、python 提取PPT背景图片3.1 提取幻灯片背景图片3.2 提取

HTML5中的Microdata与历史记录管理详解

《HTML5中的Microdata与历史记录管理详解》Microdata作为HTML5新增的一个特性,它允许开发者在HTML文档中添加更多的语义信息,以便于搜索引擎和浏览器更好地理解页面内容,本文将探... 目录html5中的Mijscrodata与历史记录管理背景简介html5中的Microdata使用M

html5的响应式布局的方法示例详解

《html5的响应式布局的方法示例详解》:本文主要介绍了HTML5中使用媒体查询和Flexbox进行响应式布局的方法,简要介绍了CSSGrid布局的基础知识和如何实现自动换行的网格布局,详细内容请阅读本文,希望能对你有所帮助... 一 使用媒体查询响应式布局        使用的参数@media这是常用的

HTML5表格语法格式详解

《HTML5表格语法格式详解》在HTML语法中,表格主要通过table、tr和td3个标签构成,本文通过实例代码讲解HTML5表格语法格式,感兴趣的朋友一起看看吧... 目录一、表格1.表格语法格式2.表格属性 3.例子二、不规则表格1.跨行2.跨列3.例子一、表格在html语法中,表格主要通过< tab

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

前端CSS Grid 布局示例详解

《前端CSSGrid布局示例详解》CSSGrid是一种二维布局系统,可以同时控制行和列,相比Flex(一维布局),更适合用在整体页面布局或复杂模块结构中,:本文主要介绍前端CSSGri... 目录css Grid 布局详解(通俗易懂版)一、概述二、基础概念三、创建 Grid 容器四、定义网格行和列五、设置行

前端下载文件时如何后端返回的文件流一些常见方法

《前端下载文件时如何后端返回的文件流一些常见方法》:本文主要介绍前端下载文件时如何后端返回的文件流一些常见方法,包括使用Blob和URL.createObjectURL创建下载链接,以及处理带有C... 目录1. 使用 Blob 和 URL.createObjectURL 创建下载链接例子:使用 Blob

Vuex Actions多参数传递的解决方案

《VuexActions多参数传递的解决方案》在Vuex中,actions的设计默认只支持单个参数传递,这有时会限制我们的使用场景,下面我将详细介绍几种处理多参数传递的解决方案,从基础到高级,... 目录一、对象封装法(推荐)二、参数解构法三、柯里化函数法四、Payload 工厂函数五、TypeScript

MySQL更新某个字段拼接固定字符串的实现

《MySQL更新某个字段拼接固定字符串的实现》在MySQL中,我们经常需要对数据库中的某个字段进行更新操作,本文就来介绍一下MySQL更新某个字段拼接固定字符串的实现,感兴趣的可以了解一下... 目录1. 查看字段当前值2. 更新字段拼接固定字符串3. 验证更新结果mysql更新某个字段拼接固定字符串 -