美文网首页
css几种布局的常见方法

css几种布局的常见方法

作者: 饥人谷_ika0s | 来源:发表于2019-08-09 11:52 被阅读0次

水平居中

  • 行内元素:text-align: center;
  • 块级元素:设置宽度然后margin:0 auto
  • 多个块级元素:父元素设置 text-align: center;,对子元素设置 display: inline-block;或使用 flex 布局

垂直居中

行内元素

单行:

  • 设置上下 pandding 相等
  • 设置 line-height 和 height 相等

多行:

  • 设置上下 pandding 相等
  • 设置 display: table-cell; 和 vertical-align: middle
  • 使用 flex 布局

块级元素:

父元素相对定位

子元素定高,子元素绝对定位 top:50%;再负 margin-top 把子元素往移一半的高度

未知子元素高,子元素绝对定位 top: 50%; transform: translateY(-50%)

flex布局,父元素justify-content: center;

两栏布局

左列定宽,右列自适应

  1. float + margin
<div id="left">左列定宽</div>
<div id="right">右列自适应</div>
#left {
    float: left;
    width: 100px;
    height: 800px;
    background-color: red;
}
#right {
    margin-left: 100px;
    height: 500px;
    background-color: blue;
}

2.float+overflow

right触发bfc实现自适应

<div id="left">左列定宽</div>
<div id="right">右列自适应</div>
#left {
    float: left;
    width: 100px;
    height: 800px;
    background-color: red;
}
#right {
    height: 500px;
    background-color: blue;
    overflow: hidden;
}

3.flex

<div id="parent">
    <div id="left">左列定宽</div>
    <div id="right">右列自适应</div>
</div>
#parent{
    height: 800px;
    display: flex;
}
#left {
    width: 100px;
    background-color: red;
}
#right {
    flex: 1;
    background-color: blue;
}

三栏布局

两列定宽,中间自适应

1.圣杯

将外层包裹设置padding,再设置左右列的position属性分别左右移动到空出的padding部分,使中间列文字不被遮挡。

<div id="parent">
  <div id="center">中间自适应</div>
  <div id="left">左列定宽</div>
  <div id="right">右列定宽</div>
</div>
#parent {
    padding-left: 100px;
    padding-right: 200px;
}
#left {
    float: left;
    position: relative;
    left: -100px;
    width: 100px;
    height: 500px;
    margin-left: -100%;
    background-color: red;
}
#center {
    float: left;
    width: 100%;
    height: 480px;
    background-color: green;
}
#right {
    float: left;
    position: relative;
    right: -200px;
    width: 200px;
    height: 500px;
    margin-left: -200px;
    background-color: blue;
}

2.双飞翼

与圣杯类似,只是在中间多套了一个元素,利用内套center的margin与左右列隔开。与圣杯相比,少了相对定位、padding属性的设置,更加简洁。

<div id="parent">
    <div id="center-box">
        <div id="center">中间自适应</div>
    </div>
    <div id="left">左列定宽</div>
    <div id="right">右列定宽</div>
</div>
#left {
float: left;
width: 100px;
height: 500px;
margin-left: -100%;
background-color: red;
}
#center-box{
float: left;
width: 100%;
height: 300px;
}
#center{
height: 480px;
margin: 0 200px 0 100px; 
background-color: green;
}
#right {
float: left;
width: 200px;
height: 500px;
margin-left: -200px;
background-color: blue;
}

3.position

左右两列脱离文档流,父元素高度不一定撑得起来,对下面盒子的排布有影响

#parent {
    position: relative;
}
#left {
    position: absolute;
    top: 0;
    left: 0;
    width: 100px;
    height: 500px;
    background-color: red;
}
#center {
    height: 500px;
    margin-left: 100px;
    margin-right: 200px; 
    background-color:green;
}
#right {
    position: absolute;
    top: 0;
    right: 0;
    width: 200px;
    height: 500px;
    background-color:blue;
}

4.flex

<div id="parent">
    <div id="left">左列定宽</div>
    <div id="center">中间自适应</div>
    <div id="right">右列定宽</div>
</div>
#parent {
    height: 500px;
    display: flex;
}
#left {
    width: 100px;
    background-color: red;
}
#center {
    flex: 1;
    background-color: green;
}
#right {
    width: 200px;
    background-color:blue;
}

相关文章

  • CSS布局(不完全)总结

    CSS布局(不完全)总结 实现水平居中布局的几种方式 方法一: 通过以下CSS代码实现水平居中布局 方法二: 通过...

  • css几种布局的常见方法

    水平居中 行内元素:text-align: center; 块级元素:设置宽度然后margin:0 auto 多个...

  • 几种常见css布局

    单列布局 第一种 给定宽度,margin:auto即可实现 html css 第二种 html css 等高布局 ...

  • 几种常见的CSS布局

    本文概要 本文将介绍如下几种常见的布局: 其中实现三栏布局有多种方式,本文着重介绍圣杯布局和双飞翼布局。另外几种可...

  • CSS常见的几种布局

    本着学习的时候要自己尝试的态度,我在网上看了几种场景的布局,并试着自己将其写出来,在此总结下。 一、div水平垂直...

  • 几种常见的 CSS 布局

    本文概要 本文将介绍如下几种常见的布局: 单列布局 两列自适应布局 圣飞布局和双飞翼布局 伪等高布局 粘连布局 一...

  • 几种常见的CSS布局

    本文概要 本文将介绍如下几种常见的布局: 其中实现三栏布局有多种方式,本文着重介绍圣杯布局和双飞翼布局。 一、单列...

  • css

    css基础css选择器css常见样式1css常见样式2CSS布局上CSS布局下flex布局塔防小游戏flex布局青...

  • CSS布局

    CSS入门(3) CSS的常见布局 CSS常见布局使用display属性(文档流)+position属性(定位)+...

  • CSS垂直居中,你会多少种写法?

    CSS控制居中是前端开发中非常常用的布局技能,本文列出几种CSS控制元素居中的几种方法。  谈及HTML元素居中展...

网友评论

      本文标题:css几种布局的常见方法

      本文链接:https://www.haomeiwen.com/subject/zeicjctx.html