CSS中常见的布局

一、css中常见的布局有哪些?

(1)两列布局

(2)三列布局

(3)弹性布局

(4)圣杯布局

(5)双飞翼布局

二、具体实现 

(1)两列布局

https://www.cnblogs.com/qing-5/p/11442906.html

(2)三列布局

https://www.cnblogs.com/qing-5/p/11338819.html

(3)圣杯布局和双飞翼布局

相同点:

  a、三列布局,中间宽度自适应,两边定宽;

  b、中间栏要在浏览器中优先展示渲染;
  c、允许任意列的高度最高;
  d、要求只用一个额外的DIV标签;
  e、要求用最简单的CSS、最少的HACK语句;
  

不同点:

   圣杯布局和双飞翼布局解决问题的方案在前一半是相同的:

 也就是三栏全部浮动,左右两栏加上负margin,让其跟中间栏div并排。

 不同在于解决 “中间栏div内容不被遮挡” 问题的思路不一样。

    (4)、圣杯布局

<style>
        .container {
            padding: 0 100px 0 200px;
        }
        .left {
            width: 200px;
            background: red;
            /* 关键点:会让元素沿文档流向左移动,负数值比较大的话会一直移动到上一行 */
            margin-left: -100%;
            left: -200px;
        }
        .right {
            width: 100px;
            background: blue;

            margin-left: -100px;
            right: -100px;
        }
        .main {
            background: yellow;
            width: 100%;
        }
        .left, .main, .right{
            float: left;
            min-height: 200px;
            position: relative;
        }

    </style>
<div class="container">
    <div class="main">main</div>
    <div class="left">left</div>
    <div class="right">right</div>
</div>

(5)、双飞翼布局

<style type="text/css">
        .left, .main, .right {
            float: left;
            min-height: 130px;
            text-align: center;
        }
        .left {
            margin-left: -100%;
            background: green;
            width: 200px;
        }
        .right {
            margin-left: -300px;
            background-color: red;
            width: 300px;
        }
        .main {
            background-color: blue;
            width: 100%;
        }
        .content{
            /* 关键点:用margin把div挤到中间正常展示*/
            margin: 0 300px 0 200px;
        }
    </style>
<div class="container">
        <div class="main">
       <div class="content">main</div>
</div>
      <div class="left">left</div>
      <div class="right">right</div>
</div>

(6)、弹性布局(Flexbox)

  CSS3引入了一种新的布局模式——Flexbox布局,即伸缩布局盒模型(Flexible Box),用来提供一个更加有效的方式制定、调整和分布一个容器里项目布局,即使它们的大小是未知或者动态的,这里简称为Flex。
  Flexbox布局常用于设计比较复杂的页面,可以轻松的实现屏幕和浏览器窗口大小发生变化时保持元素的相对位置和大小不变,同时减少了依赖于浮动布局实现元素位置的定义以及重置元素的大小。

参考链接:https://www.jianshu.com/p/81ef7e7094e8

原文地址:https://www.cnblogs.com/qing-5/p/11416985.html

时间: 2024-10-10 09:39:36

CSS中常见的布局的相关文章

转:利用HTML和CSS实现常见的布局

利用HTML和CSS实现常见的布局 单列布局 水平居中 水平居中的页面布局中最为常见的一种布局形式,多出现于标题,以及内容区域的组织形式,下面介绍四种实现水平居中的方法(注:下面各个实例中实现的是child元素的对齐操作,child元素的父容器是parent元素) 使用inline-block 和 text-align实现 .parent{text-align: center;} .child{display: inline-block;} 优点:兼容性好:不足:需要同时设置子元素和父元素 使用

利用HTML和CSS实现常见的布局

水平居中的页面布局中最为常见的一种布局形式,多出现于标题,以及内容区域的组织形式,下面介绍四种实现水平居中的方法(注:下面各个实例中实现的是child元素的对齐操作,child元素的父容器是parent元素) 使用inline-block 和 text-align实现 .parent{text-align: center;} .child{display: inline-block;} 优点:兼容性好:不足:需要同时设置子元素和父元素 使用margin:0 auto来实现 .child{widt

css中常见中文字体的英文名称

曾经看过一些文章,建议CSS中字体应用英文来替代,但一直未引起我重视.最近官网改版,今天同事测试发现Mac的Safari总是显示宋体 → → 修改font-family:"微软雅黑"为"Microsoft YaHei" 后正常. 黑体:SimHei 宋体:SimSun 新宋体:NSimSun 仿宋:FangSong 楷体:KaiTi 微软雅黑:Microsoft YaHei 幼圆:YouYuan

CSS中常见的长度单位

原文地址:https://segmentfault.com/a/1190000008934791?utm_source=tuicool&utm_medium=referral px - 像素 px 是 CSS 中最常用的长度单位,可以用来指定字体大小,元素的宽度.高度.边框.内边距,外边距的大小等等, 它是一个虚拟长度单位,是计算机系统的数字化图像长度单位,如果px要换算成物理长度,需要指定精度DPI px 单位的值必须是整数值 与px相关的一些单位 in - 表示英寸,是一个物理单位,在CSS

CSS中常见的BUG调试

1.布局--layout 布局是windows提出的概念,用于控制元素的尺寸和定位. 拥有布局的元素负责自身及其子元素的尺寸及定位,而没有布局的元素仅仅能依靠近期的祖先元素进行控制. 通常在IE6中出现的BUG.非常可能是由于布局的缘故而产生的,因而修复IE中BUG的时候,第一件事就是尝试通过规则迫使元素拥有布局来看是否能修复. 默认情况下拥有布局的元素包含:body.html(标准模式下).table.tr.td.img.hr.input.select.textarea.button.ifra

css中常见浏览器兼容性问题

浏览器兼容问题一:不同浏览器的标签默认的外补丁和内补丁不同 问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大. 碰到频率:100% 解决方案:CSS里 *{margin:0;padding:0;} 备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几乎所有的CSS文件开头都会用通配符*来设置各个标签的内外补丁是0. 浏览器兼容问题二:块属性标签float后,又有横行的margin情况下,在IE6显示 margin比设置的大 问题症状:常见症状是I

css中的各种布局写法(不定期更新)

前端做久了越来越感觉css的博大精深,虽然css严格意义上算不上是一门编程语言,比如逻辑控制.循环操作.函数等都严重缺少或不足,尽管目前有了很流行的sass.less等css预处理器以便于编写css,但是实际上css的难处在于它的特性,css的属性毕竟太多了,每种属性还有不同的值,效果也各不相同.也难怪不少精通各种语言的大神看到css就头痛(比如这位) 在此总结一下遇到过的常见布局方式 两列布局 1.左侧固定,右侧宽度自适应 (1)通过浮动 https://jsfiddle.net/tgxh/y

css 中的grid布局基础

CSS Grid Layout为CSS引入了一个二维网格系统.网格可用于布局主要页面区域或小型用户界面元素. 网格是一组交叉的水平和垂直线 - 一组定义列,其他行.元素可以放在网格上,以行或者列为标准. grid布局的优点: 1:固定和灵活的轨道尺寸 2:可以使用行号,名称或通过定位网格区域将项目放置在网格上的精确位置.网格还包含一种算法,用于控制未在网格上显示位置的项目的放置. 3:在需要时添加其他行和列 4:网格包含对齐功能,以便我们可以控制项目放置到网格区域后的对齐方式,以及整个网格的对齐

html+css中常见的浏览器兼容性处理

1.居中问题 div里的内容,IE默认为居中,而FF默认为左对齐,可以尝试增加代码margin: 0 auto; 2.高度问题 两上下排列或嵌套的div,上面的div设置高度(height),如果div里的实际内容大于所设高度,在FF中会出现两个div重叠的现象:但在IE中,下面的div会自动给上面的div让出空间所以为避免出现层的重叠,高度一定要控制恰当,或者干脆不写高度,让他自动调节,比较好的方法是 height:100%;但当这个div里面一级的元素都float了的时候,则需要在div块的