Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >CSS布局(五) 网页布局方式

CSS布局(五) 网页布局方式

作者头像
柴小智
发布于 2018-04-10 09:45:17
发布于 2018-04-10 09:45:17
1.8K00
代码可运行
举报
文章被收录于专栏:菜鸟计划菜鸟计划
运行总次数:0
代码可运行

网页实质是块与块之间的位置,块挨着块,块嵌套块,块叠着块。

三种关系:相邻,嵌套,重叠

下面介绍网页布局的常用几种方式

1.一列布局:

一般都是固定的宽高,设置margin : 0 auto来水平居中,用于界面显著标题的展示等;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        .main{
            width: 200px;
            height: 100px;
            background-color: grey;
            margin: 0 auto;
        }

2.两列布局:

  说起两列布局,最常见的就是使用float来实现。float浮动布局的缺点是浮动后会造成文本环绕等效果,以及需要及时清除浮动

  设置左左浮动,或设置左右浮动(这是需要确定父级元素的宽度)

  如何父级元素没有设置高度,则需要设置overflow:hidden来清除浮动产生的影响

  对于自己相邻元素清除浮动产生的影响用:clear:both;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <div class="main">
        <div class="left">left</div>
        <div class="right">right</div>
    </div>
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        .main{
            width: 400px;
            background: red;
            overflow: hidden;
        }

        .left{
            background: yellow;
            float: left;
        }

        .right{
            background: green;
            float: left;
        }

3.三列布局:

两侧定宽中间自适应

首先设置父级元素的宽度,可以左左右设置浮动。然后中间设置margin调整间距。 也可以都设置成左浮动,设置margin,调整间距。同样注意清除浮动的影响!

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <div class="main">
        <div class="left">left</div>
        <div class="middle">middle</div>
        <div class="right">right</div>
    </div>
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        .main{
            width: 100%;
            background: red;
            overflow: hidden;
        }
        .left{
            background: yellow;
            float: left;
            width: 100px;
        }
        .middle{
             background: rosybrown;
             float: left;
             width: cacl(100%-200px);
         }
        .right{
            background: green;
            float: right;
            width: 100px%;
        }

 或着为父级元素设置relative属性,再为子元素设置absolute属性,再分别定位,调间距。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<div class="parent" style="background-color: lightgrey;">
    <div class="left" style="background-color: lightblue;">
        <p>left</p>
    </div>    
    <div class="center" style="background-color: pink;">
        <p>center</p>
        <p>center</p>
    </div>                
    <div class="right"  style="background-color: lightgreen;">
        <p>right</p>
    </div>            
</div>
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<style>
p{margin: 0;}
.parent{position: relative;height:40px;}
.left,.right,.center{position: absolute;}
.left{left: 0;width:100px;}
.right{right: 0;width: 100px;}
.center{left: 120px; right: 120px;}
</style>

4.混合布局:

在一列布局的基础上,保留top和foot部分,将中间的main部分改造成两列或三列布局,小的模块可以再逐级同理划分。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <div class="top"></div>
    <div class="main">
        <div class="left">left</div>
        <div class="right">right</div>
    </div>
    <div class="footer"></div>
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        .top{
            height: 100px;
            background: teal;
        }
        .footer{
            height: 100px;
            background: wheat;
        }
        .main{
            width: 100%;
            background: red;
            overflow: hidden;
        }
        .left{
            background: yellow;
            float: left;
            width: 50%;
        }
        .right{
            background: green;
            float: right;
            width: 50%;
        }

5.扩展(如等分布局等)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <div class="parent">
        <div class="child"></div>
        <div class="child"></div>
        <div class="child"></div>
        <div class="child"></div>
    </div>
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        body{margin: 0;}
        .parent{
            border: 1px solid red;
            overflow: hidden;
            margin-right: -10px;
        }
        .child {
            width: calc(25% - 10px);
            height: 100px;
            background: green;
            float: left;
            margin-right: 10px;
        }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-03-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
一文搞定各类前端常见布局方式
缺点:若子元素脱离文档流,会导致 margin 失效,如 float、absolute、fixed
CS逍遥剑仙
2022/08/13
2K0
前端面试(1)H5+css
主流浏览器有五大款,分别是 IE、Firefox、Google Chrome、Safari、Opera。 最常见的浏览器内核可以分这四种:Trident、Gecko、Blink、Webkit。
leader755
2022/03/07
1.3K0
前端面试(1)H5+css
两个CSS知识点:BFC和选择器权重
BFC 全称 Block Formatting Context,翻译过来就是块格式化上下文,它是 CSS 规范的一部分。
多云转晴
2020/07/23
8400
两个CSS知识点:BFC和选择器权重
CSS 基础系列:常见布局方式
给 header、content、footer 设置相同的 width 或者 max-width(显示的宽度都一样,但是前者内容过长会溢出,后者会换行),再设置 margin 达到水平居中。
Chor
2019/11/07
1.8K0
CSS&HTML面经专题——(三)CSS定位/盒模型/经典布局/浮动布局与BFC
position:static | relative | absolute | fixed | center | page | sticky
玖柒的小窝
2021/10/26
2K0
CSS&HTML面经专题——(三)CSS定位/盒模型/经典布局/浮动布局与BFC
CSS快速入门(四)
目录 CSS快速入门(四) 浮动 float属性 clear属性 浮动解决的问题及其影响 解决父标签塌陷的方法 浮动案例 定位 什么是脱离文档流 定位的两种方法 position定位 static定位 relative定位 absolute定位 fixed定位 overflow溢出属性 层级属性z-index 透明度的设置 综合案例 CSS快速入门(四) 浮动 float属性 用于设置元素是否浮动,absolute(绝对)定位的元素会忽略float属性 属性值 描述 none 默认值,元素不浮动 le
HammerZe
2022/03/24
5820
CSS快速入门(四)
学习过CSS,那你知道BFC是什么吗?
虽然可能你没听过BFC是什么,但是你一定用过,其是一种在CSS中存在的技术,你可能只是一直不知道有这样一个专业名词,本文就来介绍一下到底什么是BFC
JowayYoung
2020/11/23
7100
学习过CSS,那你知道BFC是什么吗?
四. css 布局之 float
块元素: 1、块元素不在独占页面的一行 2、脱离文档流以后,块元素的宽度和高度默认都被内容撑开
小海怪的互联网
2020/09/22
7560
CSS基础
CSS 语法 CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明。 1 2 3 4 5 6 7 8 9 '''         selector {                   property: value;                   property: value;              ...  property: value                     }           ''' 例如: 1 h1 {color:red; font-size:14px
用户1214487
2018/01/24
2.1K0
CSS基础
零基础学前端开发技术之第七章 浮动塌陷
用户9184480
2024/12/19
530
CSS常用布局方式
布局是CSS中一个很重要的部分,也是最不好处理的一部分,其他诸如字体大小、颜色等等都是很容易的。总结一下使用过的CSS常用布局,包括水平居中、垂直居中、单列布局、多列布局等,以及flex布局,希望能给前端同学一些帮助。
Javanx
2019/09/04
8480
CSS常用布局方式
前端常用布局方案总结
若元素为行内块级元素,可以通过为其父元素设置text-align: center 实现水平居中。
越陌度阡
2022/05/06
2.7K0
前端常用布局方案总结
块格式化上下文(BFC)布局规则及常见情景
Box是CSS布局的对象和基本单位, 直观点来说,就是一个页面是由很多个Box组成的。元素的类型和display属性,决定了这个Box的类型。 不同类型的Box, 会参与不同的Formatting context(一个决定如何渲染文档的容器),因此Box内的元素会以不同的方式渲染。让我们看看有哪些盒子:
空空云
2018/09/27
1.6K0
块格式化上下文(BFC)布局规则及常见情景
元素的浮动
HTML元素的浮动是通过css来设定的,css中的float属性可以让元素左浮动或者右浮动,具体设置参数如下
云叶知秋
2023/10/16
1990
元素的浮动
剖析一些经典的CSS布局问题,为前端开发+面试保驾护航
这样做的优点就是在图文混排的时候可以很好的使文字环绕在图片周围。另外当元素浮动了起来之后,它有着块级元素的一些性质例如可以设置宽高等,但它与inline-block还是有一些区别的,第一个就是关于横向排序的时候,float可以设置方向而inline-block方向是固定的;还有一个就是inline-block在使用时有时会有空白间隙的问题
桃翁
2019/11/09
1.2K0
剖析一些经典的CSS布局问题,为前端开发+面试保驾护航
web前端面试中10个关于css高频面试题,你都会吗?
BFC(Block Formatting Context),块级格式化上下文,是一个独立的渲染区域,让处于 BFC 内部的元素与外部的元素相互隔离,使内外元素的定位不会相互影响。
coder_koala
2019/07/30
2.8K0
CSS布局(一)
只需要让header,footer充满整个屏幕,header的内容区、foooter的内容区,content设置一样的宽度,然后都设置 margin: 0 auto实现居中即可。
赤蓝紫
2023/03/11
1.3K0
CSS布局(一)
百度Web前端技术学院(1)-HTML, CSS基础
百度前端学院的第一次任务笔记,HTML、CSS 基础。主要有 CSS 工作原理,选择器的使用,常用属性,行高属性,盒模型与定位,最后根据设计图实现 4 个页面。
零式的天空
2022/03/22
1K0
前端学习笔记之CSS网页布局 CSS网页布局
  1、浮动流只有一种排版方式,就是水平排版,它只能设置某个元素左对齐或者右对齐,没有居中对齐,也就是没有center这个取值
Jetpropelledsnake21
2019/02/15
4.9K0
css基础
    行内式是在标记的style属性中设定CSS样式。这种方式没有体现出CSS的优势,不推荐使用。
超蛋lhy
2018/08/31
1.6K0
css基础
相关推荐
一文搞定各类前端常见布局方式
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验