首页 > 其他分享 >HTML与CSS手写-4.实现常用布局(三栏、圣杯、双飞翼、吸顶),可是说出多种方式并理解其优缺点

HTML与CSS手写-4.实现常用布局(三栏、圣杯、双飞翼、吸顶),可是说出多种方式并理解其优缺点

时间:2023-03-05 19:56:56浏览次数:44  
标签:圣杯 width 布局 100px 双飞翼 HTML margin left

实现常用布局

两栏布局

三栏、圣杯、双飞翼

圣杯布局和双飞翼布局是前端工程师需要日常掌握的重要布局方式。两者的功能相同,都是为了实现一个两侧宽度固定,中间宽度自适应的三栏布局。(中间先加载渲染)

圣杯布局 relative margin-left: -100%;

  <style>     .container {       padding: 0px 100px;       min-width: 300px;       overflow: hidden;     }
    .left {       float: left;       position: relative;       left: -100px;       margin-left: -100%;       width: 100px;       background-color: red;     }
    .center {       float: left;       width: 100%;       background-color: green;     }
    .right {       float: left;       position: relative;       left: 100px;       margin-left: -100px;       width: 100px;       background-color: blue;     }   </style> </head>
<body>   <div class="container">     <div class="center">center</div>     <div class="left">left</div>     <div class="right">right</div>   </div> </body>

缺陷

  • 某一列内容溢出时,三栏不是等高的 进行登高布局解决
  • 中间栏的最小宽度不能小于左右两栏的宽度,否则左右两栏会掉到下一行。(min-width解决)

 

双飞翼布局

margin-left:-100%   margin-left:-100px  牛逼

<body>
  <div id="header"></div>
  <div id="container" class="column">
    <div id="center"></div>
  </div>
  <div id="left" class="column"></div>
  <div id="right" class="column"></div>
  <div id="footer"></div>
<body>
body {
  min-width: 500px;
}

#container {
  width: 100%;
}

.column {
  float: left;
}
        
#center {
  margin-left: 200px;
  margin-right: 150px;
}
        
#left {
  width: 200px; 
  margin-left: -100%;
}
        
#right {
  width: 150px; 
  margin-left: -150px;
}
        
#footer {
  clear: both;
}

 

 双飞翼布局

优点:省去了很多css,由于不使用定位,中间栏的最小宽度不再受限于左右两栏宽度

缺点:双飞翼布局多加一层dom树节点,三列登高问题仍要单独解决

 

可是说出多种方式并理解其优缺点

标签:圣杯,width,布局,100px,双飞翼,HTML,margin,left
From: https://www.cnblogs.com/alwaysrun/p/17181419.html

相关文章

  • html-day9
    上期我们讲到JavaScript的一些背景,以及他如何用到我们的html文件中今天我们继续讲述一些相关的基础知识:1、变量简述变量:表⽰内存中的⼀块空间,⽤于存储数据,且数据是可变的......
  • html-day8
    javascrip的引入javascrip是一种脚本语言,具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环......
  • 3月4日Javaweb学习之html
    html基础标签<h1>~<h6> 定义标题,<h1>字体最大,<h6>字体最小<font>定义文本的字体、字体尺寸、字体颜色--------face控制字体,color控制颜色,size控制字体大小<b>定义粗......
  • HTML与CSS手写-1.手写图片瀑布流效果
    1.column多行布局实现瀑布流column 实现瀑布流主要依赖两个属性。column-count 属性,是控制屏幕分为多少列。column-gap 属性,是控制列与列之间的距离。<!DOCTYPEht......
  • HTML与CSS手写-2.使用CSS绘制几何图形(圆形、三角形、扇形、菱形等)
    使用CSS绘制几何图形(圆形、三角形、扇形、菱形等)//圆形<divclass="circle"></div><style>.circle{border-radius:50%;width:80px;height:80px;backg......
  • HTML-3.元信息类标签(head、title、meta)的使用目的和配置方法
    head的使用目的和配置方法使用目的:HTML头部包含HTML <head> 元素的内容,与 <body> 元素内容不同,页面在浏览器加载后它的内容不会在浏览器中显示,它的作用是保存页面......
  • HTML-1.从规范的角度理解HTML,从分类和语义的角度使用标签
    ①用正确的标签做正确的事情②html语义化让页面的内容结构化,结构更清晰,便于对浏览器、搜索引擎解析;即使在没有CSS情况下也以一种文档格式显示,并且是容易阅读的。③搜索引......
  • HTML-2.常用页面标签的默认样式、自带属性;不同浏览器的差异、处理浏览器兼容问题的方
    常用页面标签的默认样式、自带属性默认样式li{display:list-item}`/*默认以列表显示*/`head{display:none}/*默认不显示*/table{display:table}/*默认为表格......
  • HTML响应式布局实例
    <!DOCTYPEhtml><html> <head> <metacharset="utf-8"/> <metaname="viewport"content="width=device-width,initial-scale=1"> <title></title> <styletype="tex......
  • html 按钮
    1<html>2<head>3<metacharset="utf-8">4<title>Minecraft皮肤库</title>5<linkrel="stylesheet"href="bootstrap.min.css">6<scrigtsrc="jquery.min......