当前位置: 首页 > news >正文

Css布局系列-经典三列布局

今天给大家介绍经典三列布局和实现原理:

  • 通过浮动(float)进行实现,如果对float不是很清楚可以去看看我上篇介绍的;
  • 通过绝对定位布局;
  • 通过float加margin的负值进行组合实现。

 对三种情况分析:

  1. 第一种通过浮动(float)布局,特别需要注意在定义元素结构的时候要将居中元素放到right元素的后面(container->left-right-center),不能像正常那种思维去定义结构(container ->left-center-right);
 *{margin: 0;padding: 0;}
 html, body{height: 100%;}
        
 .container, .left, .right, .center{height: 100%;}
 .left{float: left;width: 200px;background-color: #f60;}
 .right{float: right;width: 200px;background-color: #e30;}
 .center{background-color: #fde560;padding: 0 10px 0 10px;margin: 0 200px;}
    <div class="container">
        <div class="left">
        </div>
        <div class="right">
        </div>
        <div class="center">
           float布局。
        </div>
    </div>

2. 第二种在定义的时候必须设置最外层容器position: relative,在定义结构的时候左右合两边都设为绝对定位,且必须设置居中元素的左右边距marign(container ->left-center-right);

*{margin: 0;padding: 0;}
 html, body{height: 100%;}
      
.container, .left, .right, .center{height: 100%;}
.container{position: relative;}
.left, .right{top: 0;position: absolute;width: 200px;}
.left{left: 0;background-color: #f60;}
.right{right: 0;background-color: #e30;}
.center{background-color: #fde560;padding: 0 10px 0 10px;margin: 0 200px;}
    <div class="container">
        <div class="left">
        </div>
        <div class="center">
            绝对与相对进行组合布局 最外层容器必须设置  position: relative。
        </div>
        <div class="right">
        </div>
    </div>

  

3.  最后一种有一点复杂,利用margin负值加float的实现,大概讲讲他负值的作用,左边上边边距负值会向左和上偏移,右边下边边距负值会导致紧跟着后面元素与其重叠。

*{margin: 0;padding: 0;}
 html, body{height: 100%;}
        
.container, .left, .right, .main, .main-body{height: 100%;}
.left, .right{width: 200px;background-color: #f60;float: left;}
.left{margin-left: -100%;}
.right{background-color: #e30;margin-left: -200px;}
.main{float: left;width: 100%;}
.main-body{margin: 0 200px;background-color: rgb(250,250,154);}
 <div class="container">
        <div class="main">
            <div class="main-body">
                float浮动加margin负值组合布局。
            </div>
        </div>
        <div class="left">
        </div>
        <div class="right">
        </div>
    </div>

  

转载于:https://www.cnblogs.com/CREN/p/4280490.html

相关文章:

  • msyql查表报InnoDB错误
  • Nodejs使用TLS
  • Overview
  • puppet注意事项
  • LAMP搭建小结
  • 【AngularJS】—— 5 表单
  • 用显微镜观察cpu芯片内部
  • 怎样获取android手机联系人并按字母展示(三)
  • C/C++产生随机数
  • Linux对文件归档和压缩(学习笔记八)
  • PLSQL转义字符
  • vim 入门
  • 【转】Android项目中编译 C的模块
  • 【SICP练习】93 练习2.66
  • 2月中国域名服务商TOP20市场份额解析(图)
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • android 一些 utils
  • Angular 响应式表单 基础例子
  • FineReport中如何实现自动滚屏效果
  • Java方法详解
  • leetcode388. Longest Absolute File Path
  • Mysql数据库的条件查询语句
  • windows-nginx-https-本地配置
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 想使用 MongoDB ,你应该了解这8个方面!
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • 教程:使用iPhone相机和openCV来完成3D重建(第一部分) ...
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • ​iOS实时查看App运行日志
  • #includecmath
  • ${ }的特别功能
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (一)SpringBoot3---尚硅谷总结
  • .gitignore文件_Git:.gitignore
  • .NET Core MongoDB数据仓储和工作单元模式封装
  • .NET Core Web APi类库如何内嵌运行?
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .NET 设计一套高性能的弱事件机制
  • .NET 指南:抽象化实现的基类
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地中转一个自定义的弱事件(可让任意 CLR 事件成为弱事件)
  • .net用HTML开发怎么调试,如何使用ASP.NET MVC在调试中查看控制器生成的html?
  • @Bean注解详解
  • @modelattribute注解用postman测试怎么传参_接口测试之问题挖掘
  • [ 隧道技术 ] 反弹shell的集中常见方式(四)python反弹shell
  • [ 云计算 | AWS 实践 ] Java 如何重命名 Amazon S3 中的文件和文件夹
  • [BZOJ1178][Apio2009]CONVENTION会议中心
  • [C/C++]数据结构----顺序表的实现(增删查改)
  • [CF543A]/[CF544C]Writing Code
  • [ffmpeg] 定制滤波器
  • [Linux]于Mac在配置Linuxserver安装Nginx+PHP
  • [MySQL]视图索引以及连接查询案列
  • [OCR]Python 3 下的文字识别CnOCR