讲师中心 微信公众号

扫码关注官方订阅号

注册 / 登录
首页
文章
后端开发 web前端 数据库 开发工具 php框架 常见问题 人工智能 Java 系统教程 电脑教程 硬件教程 手机教程 软件教程 游戏教程 自媒体 新闻
专题
后端开发 web前端 数据库 开发工具 php框架 人工智能 Java 系统教程 电脑教程 硬件教程 手机教程 软件教程 游戏教程 新闻
AI工具
AI 聊天问答 Agent智能体 AI 文本写作 AI 绘画作图 AI 设计工具 AI 视频创作 AI 音频制作 AI 办公学习 AI 编程开发 Prompt指令
学习
大前端 后端开发 数据库 移动端 运维开发 计算机基础
编程手册
大前端 后端开发 数据库 移动端 运维开发 计算机基础
下载
js特效 网站源码 工具下载 类库下载 网站素材 学习资源 插件扩展 手机游戏
最近更新
当前位置:首页 > web前端 > css教程 >

正文

0

0

CSS实现页面各种列布局的示例

伊谢尔伦

伊谢尔伦

发布时间:2017-01-16 15:35:24

|

2455人浏览过

|

来源于php中文网

原创

这篇文章主要介绍了css实现页面一列布局,两列布局与三列布局的方法示例,包括宽度与高度的自适应的示例,需要的朋友可以参考下:

1.一列布局(又叫单列布局) 
一列布局需要掌握3个知识点:标准文档流,其中又包含了块级元素和行级元素,还有margin属性,可以说实现一列布局的关键代码就是由margin属性实现的,通过设置margin:0 auto;来实现水平居中,auto就是它会根据浏览器的宽度自动设置两边的外边距。要设置margin,你首先得有一个盒子模型,比如这里的div,然后设置它的长宽,有一个固定的大小,才可以实现居中。


This is head !
This is main !
This is footer !

2.二列布局(两列自适应) 
浮动: 
块级元素都是一行一行这样排列的,需要把两个块级元素并排时,就需要用到CSS中的浮动布局float,float有三个属性值, 
left-左浮动,right-右浮动,none-不浮动,一旦设置了float属性,元素就会对应的向左移,或向右移,直到碰到容器边缘, 
当元素没有内容但是设置了浮动属性时,元素的宽度就随内容的变化而变化。 
清除浮动的常用方法是:clear:both;(为需要清楚浮动的元素设置)如果你清楚的知道设置了那种浮动,也可以clear:right/left,一般都用both,保障浮动被清除;还有另外一种清除浮动的方法,width:100%;overflow:hidden;


This is left !
This is right !

添加了父级div后,right和left块就被限制在父级块中,父级块宽度是固定的,则左右两块的宽度也随之固定,但是如果父级块的宽度改变,则左右两块也会随之改变,且比例还是2:8,这个是固定不变的。

3.三列布局 
position可设置4个属性值,分别为:static(静态定位),relative(相对定位),absolute(绝对定位),fixed(固定定位) 
三列布局自适应,将上述两列布局中的比例更改为33.33%即可,那么以此类推,四列布局自适应也可以用一样的方法,调整比例分配,从而实现自己想要的布局方式。

立即学习“前端免费学习笔记(深入)”;


This is left !
This is middle !
This is right !

另外一种情况是,左右两块的宽度都是固定的分别为200px,300px,而中间是自适应的。这种情况下就不能通过float来实现了,此时我们需要对左右两块进行绝对定位,然后设置中间块的margin,则可以实现要求。如果你想让中间和左右两块不要紧密贴合,则可以在设置margin(上,右,下,左)时,把像素适当的提高。实现方式如下: 
注意left:0;top:0;right:0;top:0; 这些设置是必须的,不加就会出问题,亲测


This is left !
This is middle !
This is right !

在网页设计中,我们更多的是将上述布局方式进行混合,比如在一列布局的main块中插入二列或者三列布局,代码和上基本一致

使用BFC的原理实现
BFC的规则之一,就是BFC区域,不会与float box重叠,因此我们可以利用这一点来实现3列布局。

css代码如下

装修公司企业网站源码2.0
装修公司企业网站源码2.0

装修公司源码,采用DIV+CSS布局,首页顶部采用了超大宽屏banner焦点图切换,带伸缩功能的导航条。首页信息展示量大,有利于SEO优化,首页版块包括,导航,焦点图切换,案例,行业动态,装修经验,装修知识。源码支持伪静态,后台开启即可,服务器必须支持rewrite功能,否则无法实现伪静态功能。信息支持二级分类。后台支持信息批量修改,删除,可以支持,视频,图片,附件上传。

下载
.left {   
  float: left;   
  margin-right: 10px;   
  width: 100px;   
  height: 100px;   
  background-color: orange;   
}   
.rightright {   
  float: rightright;   
  margin-left: 10px;   
  width: 100px;   
  height: 100px;   
  background-color: orange;   
}   
.main {   
  height: 100px;   
  background-color: green;   
  overflow: hidden;   
}

html代码如下

双飞翼布局
这种布局方案最早由淘宝提出,主要为了主列能够被最先加载。
实现原理:
(1)让主列外面添加一个wrap,主列wrap,以及2子列都左浮动。
(2)设置主列wrap宽度为100%,将子列的margin-left设置为负值,让子列能够排列在左右两侧。
(3)这是主列的margin-left与margin-right比左右两列的宽度大一点,则可以设置出来主列与子列之间的间隙。

css代码如下

.wrap {   
  width: 100%;   
}   
.wrap::after {   
  display: block;   
  content: '';   
  font-size: 0;   
  height: 0;   
  clear: both;   
  zoom: 1;   
}   
.main-content {   
  float: left;   
  width: 100%;   
}   
.main {   
  height: 100px;   
  background-color: green;   
  margin-left: 110px;   
  margin-right: 110px;   
}   
.left {   
  float: left;   
  width: 100px;   
  height: 100px;   
  background-color: orange;   
  margin-left: -100%;   
}   
.rightright {   
  float: left;   
  width: 100px;   
  height: 100px;   
  background-color: orange;   
  margin-left: -100px;   
}

html代码如下

圣杯布局
圣杯布局在结构上要简单一点,也能够让主列优先加载。
实现原理:
(1)添加一个包裹框,设置padding-leftpadding-right值,比子列宽度大一个空隙的宽度。
(2)主列,子列都设置为float: left 左子列margin-left设置为-100%,并且设置为position:relative; left: -110px将左子列放置到左侧。右子列同理。
(3)主列只需设置宽度为100%即可。包裹框的宽度不要设置为100%,自适应即可。

css代码如下

.wrapper {   
  padding-left: 110px;   
  padding-right: 110px;   
  overflow: hidden;   
}   
.main {   
  float: left;   
  width: 100%;   
  height: 100px;   
  background-color: #ccc;   
}   
.left {   
  float: left;   
  width: 100px;   
  height: 100px;   
  margin-left: -100%;   
  position: relative;   
  left: -110px;   
  _left: 0;   
  background-color: orange;   
}   
.rightright {   
  float: left;   
  width: 100px;   
  height: 100px;   
  background-color: orange;   
  margin-left: -100px;   
  position: relative;   
  rightright: -110px;   
}

 html代码如下

相关文章

css初级项目练完还是不会布局怎么办_通过完整页面拆解练习布局

css 响应式网页设计中的列布局_根据屏幕调整列数显示

css实战项目_开发一个个人作品集页面

css flexbox 是否适合做整体页面布局_通过使用场景分析说明

css 响应式网页中多列布局如何降级为单列_通过断点切换列数实现

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

上一篇:JSDOMReady事件的六种实现方法总结 下一篇:纯CSS3全屏响应式幻灯片特效

作者最新文章

MySQL使用cmd命令修改密码的操作

2018-05-28 14:47

介绍Django查询数据库时各种种类的排序

2018-05-18 16:53

php ob缓存介绍以及ob函数详解

2018-05-29 10:24

php深入理解刷新缓冲区函数用法

2018-05-24 16:26

什么是php类?php类的属性详解

2018-05-26 10:51

php7函数,声明,返回值等新特性介绍

2018-05-25 10:44

php array_keys()如何获取数组键名用法详解

2018-05-25 10:18

javascript如何操作cookie来实现用户登录代码实例详解

2018-05-28 11:45

javascript如何使用函数和返回值用法实例详解

2018-05-19 15:27

javascript基本函数debounce、poll和once实例用法详解

2018-05-26 09:13

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

AI 编程开发AI 聊天问答
豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

AI 编程开发AI大模型
通义千问
通义千问

阿里巴巴推出的全能AI助手

AI 编程开发Agent智能体
腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文档处理AI 聊天问答
文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

AI 编程开发AI 文本写作
讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

AI 文本写作中文写作
即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

图片拼接
ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

AI 编程开发AI 文本写作
智谱清言 - 免费全能的AI助手
智谱清言 - 免费全能的AI助手

智谱清言 - 免费全能的AI助手

AI 编程开发Agent智能体

相关专题

更多
C++ 设计模式与软件架构
C++ 设计模式与软件架构

本专题深入讲解 C++ 中的常见设计模式与架构优化,包括单例模式、工厂模式、观察者模式、策略模式、命令模式等,结合实际案例展示如何在 C++ 项目中应用这些模式提升代码可维护性与扩展性。通过案例分析,帮助开发者掌握 如何运用设计模式构建高质量的软件架构,提升系统的灵活性与可扩展性。

14

2026.01.30

c++ 字符串格式化
c++ 字符串格式化

本专题整合了c++字符串格式化用法、输出技巧、实践等等内容,阅读专题下面的文章了解更多详细内容。

9

2026.01.30

java 字符串格式化
java 字符串格式化

本专题整合了java如何进行字符串格式化相关教程、使用解析、方法详解等等内容。阅读专题下面的文章了解更多详细教程。

12

2026.01.30

python 字符串格式化
python 字符串格式化

本专题整合了python字符串格式化教程、实践、方法、进阶等等相关内容,阅读专题下面的文章了解更多详细操作。

4

2026.01.30

java入门学习合集
java入门学习合集

本专题整合了java入门学习指南、初学者项目实战、入门到精通等等内容,阅读专题下面的文章了解更多详细学习方法。

20

2026.01.29

java配置环境变量教程合集
java配置环境变量教程合集

本专题整合了java配置环境变量设置、步骤、安装jdk、避免冲突等等相关内容,阅读专题下面的文章了解更多详细操作。

18

2026.01.29

java成品学习网站推荐大全
java成品学习网站推荐大全

本专题整合了java成品网站、在线成品网站源码、源码入口等等相关内容,阅读专题下面的文章了解更多详细推荐内容。

19

2026.01.29

Java字符串处理使用教程合集
Java字符串处理使用教程合集

本专题整合了Java字符串截取、处理、使用、实战等等教程内容,阅读专题下面的文章了解详细操作教程。

3

2026.01.29

Java空对象相关教程合集
Java空对象相关教程合集

本专题整合了Java空对象相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板
  • [图片特效]jQuery带标题的3D图片切换代码
  • [图片特效]jQuery鼠标滚轮控制幻灯片切换
  • [表单按钮]jQuery微信手机端答题表单特效
  • [表单按钮]js正则表达式表单验证代码
  • [图片特效]CSS3图片形状遮罩动画效果
  • [表单按钮]div css手机网站login表单特效
  • [图片特效]qq空间遮罩层jQuery相册切换
  • [表单按钮]jquery衣服尺寸勾选表单
  • [图片特效]22款不同效果产品图片展示切换
  • [表单按钮]jquery带登录注册幻灯片代码
  • [电商源码]openaishop
  • [其它模板]思翔企(事)业单位文件柜 build 20080313
  • [企业站源码]雅龙智能装备工业设备类WordPress主题1.0
  • [电商源码]威发卡自动发卡系统
  • [电商源码]卡密分发系统
  • [电商源码]中华陶瓷网
  • [电商源码]简洁粉色食品公司网站
  • [电商源码]极速网店系统
  • [电商源码]淘宝妈妈_淘客推广系统
  • [电商源码]积客B2SCMS商城系统
  • [网站素材]2026红色几何马年矢量素材
  • [网站素材]手绘烘焙面包食材合集矢量素材
  • [网站素材]复古红日山峰风景矢量素材
  • [网站素材]极简复古意大利面海报矢量模板
  • [网站素材]国风红色灯笼装饰合集矢量素材
  • [网站素材]快餐美食宣传海报模板INS下载
  • [网站素材]卡通灯塔房屋建筑合集矢量素材
  • [网站素材]黑色耳机宣传海报PSD模板设计下载
  • [网站素材]冬季蓝色雪花松枝合集矢量素材
  • [网站素材]情人节爱心主题海报PSD源文件设计下载
  • [前端模板]驾照考试驾校HTML5网站模板
  • [前端模板]驾照培训服务机构宣传网站模板
  • [前端模板]HTML5房地产公司宣传网站模板
  • [前端模板]新鲜有机肉类宣传网站模板
  • [前端模板]响应式天气预报宣传网站模板
  • [前端模板]房屋建筑维修公司网站CSS模板
  • [前端模板]响应式志愿者服务网站模板
  • [前端模板]创意T恤打印店网站HTML5模板
  • [前端模板]网页开发岗位简历作品展示网页模板
  • [前端模板]响应式人力资源机构宣传网站模板

相关下载

更多
装修公司企业网站源码2.0
通用产品企业网站(.NET2.0)1.0

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
国外Web开发全栈课程全集
国外Web开发全栈课程全集

共12课时 | 1.0万人学习

HTML5+CSS练手项目【手敲阴阳师官网】
HTML5+CSS练手项目【手敲阴阳师官网】

共15课时 | 1.7万人学习

前端实战案例大全
前端实战案例大全

共18课时 | 2.6万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.2万人学习

最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)
最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)

共79课时 | 151.8万人学习

phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 53.4万人学习

最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 22.4万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.2万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

最新文章

更多
在动态生成元素中不起作用怎么办_通过事件委托或类更新解决
css 浮动布局中为什么要清除浮动_通过避免布局错乱进行说明
css动画循环与次数设置不生效怎么办_检查animation-iteration-count属性
css 想通过 rgb 设置颜色不透明怎么办_rgb() 函数正确使用
css相对定位元素在不同屏幕上偏移如何适配_结合媒体查询
css选择器是否影响页面加载_通过匹配复杂度理解性能影响
css 浮动元素如何实现左右分栏布局_通过 float left right 组合说明
css布局复杂组件如何组合使用_通过嵌套 flex 或 grid 实现
css:hover伪类与transition结合无效果_检查过渡属性是否正确
css响应式图片加载过慢如何优化_使用srcset和picture标签
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号

微信扫码
关注PHP中文网服务号

技术交流群

QQ扫码
加入技术交流群

PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • PHP学习

  • 技术支持

  • 返回顶部