CSS3实现了左右固定中间自适应的几种方法

1,弹性盒(flex)布局

中间 .center 区域设置    flex-grow: 1 或者 width: 100%

.container {
                width: 100%;
                min-height: 200px;
                background-color: red;
                display: flex;
            }
            .container .left {
                width: 200px;
                height: 200px;
                background-color: purple;
            }
            .container .right {
                width: 150px;
                height: 200px;
                background-color: blue;
            }
            .container .center {
                /* flex-grow: 1; */
                width: 100%;
                height: 200px;
                background-color: orange;
            }

        <div class="container">
            <div class="left"></div>
            <div class="center"></div>
            <div class="right"></div>
        </div>

2, 利用浮动(注意div排版的结构)

.container{
            width: 100%;
           /* background-color: green;
            min-height: 500px; */
        }
        .left{
            width: 200px;
            height: 300px;
            background-color: pink;
            float: left;
        }
        .right{
            width: 150px;
            height: 300px;
            background-color: purple;
            float: right;
        }
        .center{
            height: 300px;
            margin-left: 200px;
            margin-right: 150px;
            background-color: blue;
        }

<div class="container">
    <div class="left"></div>
    <div class="right"></div>
    <div class="center"></div>
</div>

3,定位 (注意div排版的结构)

.container {
                width: 100%;
                position: relative;
            }

            .left {
                width: 200px;
                height: 300px;
                background-color: pink;
                position: absolute;
                top: 0;
                left: 0;
                position: absolute;
            }

            .right {
                width: 150px;
                height: 300px;
                background-color: purple;
                position: absolute;
                top: 0;
                right: 0;
            }

            .center {
                height: 300px;
                margin-left: 200px;
                margin-right: 150px;
                background-color: blue;
            }

<div class="container">
<div class="left"></div>
<div class="right"></div>
<div class="center"></div>
</div>

4, 双飞翼布局

  • left、center、right三种都设置左浮动
  • 设置center宽度为100%
  • 设置负边距,left设置负边距为100%,right设置负边距为自身宽度
  • 设置content的margin值为左右两个侧栏留出空间,margin值大小为left和right宽度
  • body {
                min-width: 550px;
                font-weight: bold;
                font-size: 20px;
            }
    
            #container {
                overflow: hidden;
            }
    
            #left,
            #right,
            #center {
                float: left;
            }
    
            #center {
                width: 100%;
                background: rgb(206, 201, 201);
            }
    
            #left {
                width: 200px;
                margin-left: -100%;
                background: rgba(95, 179, 235, 0.972);
            }
    
            #right {
                width: 150px;
                margin-left: -150px;
                background: rgb(231, 105, 2);
            }
    
            .content {
                margin: 0 150px 0 200px;
            }
    
                    <div id="container">
                <div id="center">
                    <div class="content">#center</div>
                </div>
                <div id="left">#left</div>
                <div id="right">#right</div>
            </div>

原文地址:https://www.cnblogs.com/shun1015/p/12243601.html

时间: 2024-11-10 08:05:37

CSS3实现了左右固定中间自适应的几种方法的相关文章

css布局两边固定中间自适应的四种方法

第一种:左右侧采用浮动 中间采用margin-left 和 margin-right 方法. 代码如下: <div style="width:100%; margin:0 auto;"> <div style="width:200px; float:right; background-color:#960">这是右侧的内容 固定宽度</div> <div style="width:150px; float:left

实现三个div,固定左右两边的div宽为200,中间的div宽度自适应的四种方法

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>实现三个div,固定左右两边的div宽为200,中间的div宽度自适应的四种方法</title> <style type="text/css"> html, body { width: 100%; height: 100%; margin: 0; padding:

php在数字前面补0得到固定长度数字的两种方法

比较基础,其实两个内置函数都能实现. 1  sprintf 语法: string sprintf(string format, mixed [args]...); 返回值: 字符串 函数种类: 资料处理 本函数用来将字符串格式化.参数 format 是转换的格式,以百分比符号 % 开始到转换字符为止.而在转换的格式间依序包括了 填空字符.0 的话表示空格填 0:空格是默认值,表示空格就放着. 对齐方式.默认值为向右对齐,负号表向左对齐. 字段宽度.为最小宽度. 精确度.指在小数点后的浮点数位数.

Css三栏布局自适应实现几种方法

Css三栏布局自适应实现几种方法 自适应实现方法我们可以从三个方法来做,一个是绝对定位 ,自身浮动法 和margin负值法了,下面我们一起来看看这三个例子吧,希望例子能帮助到各位同学. 绝对定位法三栏布局自适应: 代码如下 复制代码 <!doctype html> <html> <head> <meta charset="utf-8"> <title>绝对定位法</title> <style>  .pa

[Android] Android 让UI控件固定于底部的几种方法

Android 让UI控件固定于底部的几种方法1.采用linearlayout布局:android:layout_height="0dp" <!-- 这里不能设置fill_parent -->android:layout_weight="1" <!-- 这里设置layout_weight=1是最关键的,否则底部的LinearLayout无法到底部 --> 2. 采用relativelayout布局:android:layout_alignPa

这周学到的页面自适应的几种方法

上星期都是在学响应式的页面,主要是两种方法来做响应式的页面: 第一种:页面中的宽度都用百分比来做. 页面中盒子的高度不能设固定高度.开始学DIV+CSS布局的时候我给每个盒子都设置了固定的宽和高,这样页面做起来非常快,只需要先把页面整体的布局结构搞定,再往里面丢内容就行了,但是后来发现这样的结构是错误的,调整浏览器的宽度里面的内容可能会冲破盒子.正确的思路是高度由内容去撑起来,不管你如何去缩小,内容都不会跑出盒子. 百分比是按照父元素的宽度来计算的,包括margin 和padding的值,也是除

两列布局,左边固定,右边自适应的三种方法

<!-- 方法一:使用CSS3属性calc()进行计算.注意:calc()里的运算符两边必须有空格 --> <div> <div style="float:left;width:200px;height:500px;background-color:blue;"> </div> <div style="float:left;width:calc(100% - 200px);height:500px;background-c

HTML5工具做屏幕自适应的两种方法

近一两年,HTML5在中国很火,也出了不少HTML5工具和模板.别的先不说,对于不同的H5工具,解决屏幕自适应问题的区别是什么? 简单来说,感应式设计是当用不同设备访问时,能够根据设备的宽度和高度对设备进行动态的适配.例如,用iPhone4.iPhone5.iPhone6.PC.iPad访问同一个H5网页,都能打开一个适合该设备的一个HTML5页面,不留白边,不变形. 由于设备分辨率和长宽比都不同,如果设计一次就能适应所有的屏幕(包括移动端和PC端),几乎不可能.原因有三: 1. 如果等比例缩放

黄聪:WordPress固定链接设置的几种方法

wordpress固定链接设置的一些参数: %year%:基于文章发布的年份,比如2010: %monthnum%:基于文章发布的月份,比如01: %day%:基于文章发布当日,比如06: %hour%:基于文章发布小时数,比如23: %minute%:基于文章发布分钟数,比如43: %second%:基于文章发布秒数,比如33: %postname%:基于文章的postname,其值为撰写时指定的缩略名,不指定缩略名时是文章标题: %post_id%:基于文章post_id,比如48: %ca