css两栏布局、圣杯布局、双飞翼布局

最近几个月一直用vue在写手机端的项目,主要写业务逻辑,在js方面投入的时间和精力也比较多。这两天写页面明显感觉css布局方面的知识有不足,所以复习一下布局方法。

两栏布局

  • 1、浮动
 .box1 .left {
    float: left;
    width: 100px;
    height: 100px;
    background-color: red;
  }
  .box1 .right {
    margin-left: 100px;
    height: 100px;
    background-color: green;
  }
<div class="box1">
  <div class="left"></div>
  <div class="right">两列自适应</div>
</div>
  • 2、定位
.box1{
    position: relative;
    width: 100%;
    height: 100px;
  }
  .box1 .left{
    position: absolute;
    width: 100px;
    height: 100%;
    background-color: red;
  }

  .box1 .right{
    margin-left: 100px;
    width: 100%;
    height: 100%;
    background-color: green;
  }
<div class="box1">
  <div class="left"></div>
  <div class="right"></div>
</div>
  • 3、flex
  .box1{
    display: flex;
    height: 100px;
  }
  .box1 .left{
    width: 100px;
    height: 100%;
    background-color: red;
  }

  .box1 .right{
    flex:1;
    height: 100%;
    background-color: green;
  }
<div class="box1">
  <div class="left"></div>
  <div class="right"></div>
</div>

圣杯布局和双飞翼布局目的是我们希望先加载的是中间的部分,然后再开始加载 left 和 right 两个相对来说不是很重要的东西。

圣杯布局

圣杯布局给最外面加padding, 让 padding-left 和 padding-right 的数值等于left 和 right 的宽度,然后利用相对定位把他们再移动在两旁。

.box{
    padding:  0 100px;/* 留出左右的距离*/
    height: 100px;
  }
  .box .middle {
    float: left;
    width: 100%;
    height: 100%;
    background-color: yellow;
  }
  .box .left {
    float: left;
    width: 100px;
    margin-left: -100%;
    background-color: red;
    position: relative;
    left: -100px;/*往左拉*/
    height: 100%;
  }
  .box .right {
    float: left;
    width: 100px;
    margin-left: -100px;
    background-color: green;
    position: relative;
    right: -100px;
    height:100%;
  }
<div class="box">
  <!--注意顺序-->
  <div class="middle">middle</div>
  <div class="left">left</div>
  <div class="right">right</div>
</div>

双飞翼布局

.box {
    position: relative;
    height: 100px;
  }
  .middle-wrap {
    position: relative;
    float: left;
    width: 100%;
    height: 100%;
  }
  .middle-wrap .middle {
    height: 100%;
    margin: 0 100px; /*留出距离*/
    background-color: yellow;
  }
  .left {
    float: left;
    width: 100px;
    margin-left: -100%;
    height: 100%;
    background-color: red;
  }
  .right {
    float: left;
    width: 100px;
    height: 100%;
    margin-left: -100px;
    background-color: green;
  }
<div class="box">
  <div class="middle-wrap">
    <div class="middle"></div>
  </div>
  <div class="left"></div>
  <div class="right"></div>
</div>

原文地址:https://www.cnblogs.com/10manongit/p/12222860.html

时间: 2024-10-09 19:40:30

css两栏布局、圣杯布局、双飞翼布局的相关文章

布局——圣杯和双飞翼布局

css可以继承的属性有哪些? Font 系列 text系列 color line-height border-radius的值的问题 四个值的顺序是 左上 右上 右下 左下. white-space 规定段落中的文本换不换行 往往值是nowrap 不换行 Word-wrap 属性允许长的内容可以自动换行  属性值是 break-word 允许 默认是不允许 写三角形 宽高必须是0 margin对布局的影响  双飞翼布局 圣杯布局 () Margin是 外边距,属性值是数字 数字又分正负. 正数:

css两栏三栏布局

一.三栏布局 1. 经典的圣杯布局(双飞翼布局) <style type="text/css"> *{margin: 0;padding: 0;} body{min-width: 700px;} .header, .footer{ border: 1px solid #333; background: #aaa; text-align: center; } .sub, .main, .extra{ float: left; min-height: 130px; } .sub

垂直居中,水平居中,垂直+水平居中,圣杯和双飞翼布局

一:先说一下行内元素和块级元素: 行内元素:a.img.input.label .select.small.span.textarea ... 块级元素:div .dl.h1.h2.form. pre - 格式化文本.table .ul.ol.p... 更多的介绍看这个:http://www.cnblogs.com/Jackie0714/p/4923639.html 二:水平居中: 1.有宽度和高度的块级元素一般都用margin:0 auto.行内元素的话,一般都是用text-align:cen

圣杯和双飞翼布局

圣杯布局: 原理:给包裹层设置左右padding值空出left和right的位置,使用负边距,左边margin-left:-100%,右边margin-left:-100px:此时左右两个盒子位于主盒子两侧但是会遮挡住主盒子的内容,所以再给左盒子position:relative,left:-100px,右盒子position:relative:right:-100px,使左右两个盒子定位正确. /*html部分*/ <div class="container"> <

关于圣杯、双飞翼布局

<!DOCTYPE html><html><head> <title>附加案例</title> <style type="text/css"> body{ background: #ccc; margin: 0; padding: 0; } .container{ --width: 400px; width:calc(var(--width) * 2); height: var(--width); margin:

常见CSS两栏式布局

代码下载:https://files.cnblogs.com/files/xiandedanteng/TwoColumnLayout.rar 效果展示: 代码: <!DOCTYPE html> <html lang="utf-8"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <head> <titl

百分比、圣杯和双飞翼布局

1. 百分比布局:核心 所有的百分比都是相对父级的 Div{width:50%;}div的宽是它父级元素宽的百分之五十 谷歌浏览器默认字体大小16px,最小字体是10px. 面试题html{font-size:62.5%} 因为62.5%*16=10px 这样方便计算整个页面的字体大小都 是10px,因为字体可以继承. Css中哪些属性是可以继承的? Font text line-height color visibility list-style 2.圣杯布局: 两端固定,中间自适应 <!DO

三栏式布局(所谓的圣杯和双飞翼)

× 目录 [1]float [2]absolute [3]flex[4]总结 前面的话 常常听说圣杯布局和双飞翼布局,以为是两个很高级的语汇.但实际上,他们只是三栏式布局的两种布局方法而已.本文将介绍三栏式布局的3种思路 思路一: float [1]圣杯布局 圣杯布局使用float.负margin和relative,不需要添加额外标签..main元素设置padding,为两侧定宽元素留出位置.内容元素设置100%宽度,占据中间位置.而两侧定宽元素通过设置负margin和relative的偏移属性

css之两栏布局左侧固定右侧高度自适应

css两栏布局之左侧固定右侧高度自适应 先看这样的html+css结构: .main { width: 900px; overflow:hidden; margin: 0 auto; border:1px solid #000; } .left { width: 600px; float:left; background: #ccb; } .right { float:left; width: 300px; background: #acf; } <div class="main"