分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

css中的圣杯布局和双飞翼布局

发布时间:2023-09-06 01:23责任编辑:胡小海关键词:暂无标签

圣杯布局

布局要求:

              三列布局,中间自适应,两边定宽

              中间栏要在浏览器优先渲染

              允许任意列的高度最高

              用最简单的CSS、最少的HACK语句

解释说明:

1.min-width:700px是为了当页面缩小到指定的700px的时候,页面内容宽度不再随着浏览器缩小。是为了电脑的正常浏览效果

2.注意到container设置的值0 220px  0 200px,上 右 下 左,所以left 设置widh:200px,right设置width:220px

3.设置min-height:300px,是让三列看起来没那么的矮

4.浮动的情况下,定义负边距会使div向上移动,margin-left:-100%会使移动到最左则,然后再加上left:-200px,正好使left归位。right原理相同。

<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>圣杯布局</title> ???<style type="text/css"> ?????*{ ?????????margin: 0; ?????????padding: 0; ?????} ?????body{ ?????????min-width: 700px; ?????} ?????.header,.footer{ ??????float: left; ??????width: 100%; ??????background: #f60; ??????height: 40px; ??????line-height: 40px; ??????text-align: center; ?????} ?????.container{ ?????????padding: 0 220px 0 200px; ?????} ?????.left,.middle,.right{ ?????????position: relative; ?????????float: left; ?????????min-height: 300px; ?????} ?????.middle{ ?????????width: 100%; ?????????background: #1a5acd; ?????} ?????.left{ ?????????width: 200px; ?????????background: #f00; ?????????margin-left: -100%; ?????????left: -200px; ?????} ?????.right{ ?????????width: 220px; ?????????background: #0f0; ?????????margin-left: -220px; ?????????right:-220px; ?????} ???</style></head><body> ???<div class="header"> ???????<h4>头部</h4> ???</div> ???<div class="container"> ???????<div class="middle"> ???????????<h4>middle</h4> ???????????<p>这是页面中间内容</p> ???????</div> ???????<div class="left"> ???????????<h4>left</h4> ???????????<p>这是页面左侧内容</p> ???????</div> ???????<div class="right"> ???????????<h4>right</h4> ???????????<p>这是页面右面的内容</p> ???????</div> ???</div> ???<div class="footer"> ???????<h4>尾部</h4> ???</div></body></html>

双飞翼布局:

                   经过淘宝工程师针对圣杯布局改良后得出双飞翼布局

                  去掉相对布局,只需要浮动和负边距

解释说明:双飞翼布局得到的效果试图与圣杯布局一样,只不过是写法不太一样,主要是没有用container包括中间三部分,相对定位也没用到

<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>双飞翼布局</title> ???<style type="text/css"> ???*{ ???????margin:0; ???????padding:0; ???} ???body{ ???????min-width:700px; ????} ???.header,.footer{ ???????width: 100%; ???????float: left; ???????height: 40px; ???????background: #ddd; ???????text-align: center; ???????line-height: 40px; ???} ???.left,.right,.middle{ ???????float: left; ???????min-height: 300px; ???} ???.middle{ ???????width: 100%; ???????min-height:300px; ????} ???.middle-inner{ ???????margin-left: 200px; ???????margin-right: 220px; ???????background: red; ???????min-height:300px; ????} ???.left{ ???????width: 200px; ???????background: #0F0; ???????margin-left: -100%; ???} ???.right{ ???????width: 220px; ???????background: blue; ???????margin-left: -220px; ???} ???</style></head><body> ???<div class="header"> ???????<h4>头部</h4> ???</div> ???????<div class="middle"> ??????????<div class="middle-inner"> ???????????<h4>middle</h4> ???????????<p>这是页面中间内容</p> ??????????</div> ???????</div> ???????<div class="left"> ???????????<h4>left</h4> ???????????<p>这是页面左侧内容</p> ???????</div> ???????<div class="right"> ???????????<h4>right</h4> ???????????<p>这是页面右面内容</p> ???????</div> ???<div class="footer"> ???????<h4>尾部</h4> ???</div></body></html>

css中的圣杯布局和双飞翼布局

原文地址:http://www.cnblogs.com/yyfyl/p/7788901.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved