1、等高布局

1.1 代码

等高布局是指子元素在父元素中高度相等的布局方式

<div class="father">
<div class="f1">
这是世界上付首付款不包括不可变 这是世界上付首付款不包括不可变 这是世界上付首付款不包括不可变 这是世界上付首付款不包括不可变 这是世界上付首付款不包括不可变
这是世界上付首付款不包括不可变 这是世界上付首付款不包括不可变 这是世界上付首付款不包括不可变 这是世界上付首付款不包括不可变 这是世界上付首付款不包括不可变
这是世界上付首付款不包括不可变 这是世界上付首付款不包括不可变
</div>
<div class="f2">
这是世界上付首付款不包括不可变 这是世界上付首付款不包括不可变 这是世界上付首付款不包括不可变 这是世界上付首付款不包括不可变
</div>
</div>
<style>
.father {
width: 600px;
overflow: hidden;
margin: 20px auto;
} .f1 {
background-color: #888;
} .f2 {
background-color: bisque;
} .f1,
.f2 {
float: left;
width: 300px;
padding-bottom: 9999px;
margin-bottom: -9999px;
}
</style>

1.2 等高布局总结:

  • 父元素设置宽度,设置overflow:hidden;
  • 子元素设置左浮动,宽度,padding-bottom:9999px;margin-bottom:-9999px

2、圣杯布局

2.1 代码

圣杯布局是一种三列结构,左右两边定宽,中间自适应,能根据屏幕大小做响应的布局方式。

<div class="father">
<div class="center">center</div>
<div class="left">left</div>
<div class="right">right</div>
</div>
<style>
.father{
padding: 0 300px 0 200px;
min-width: 200px;
height: 300px;
}
.center, .left, .right{
float: left;
position: relative;
height: 100%
}
.left{
width: 200px;
left: -200px;
margin-left: -100%;
background-color: blue;
}
.right{
width: 300px;
margin-right: -300px;
background-color: burlywood;
}
.center{
width: 100%;
background: blanchedalmond;
}
</style>

2.2 圣杯布局总结

  • 父元素设置padding:0 右div宽 0 左div宽;设置min-width:左div宽度;height:200px
  • 设置子div左浮动,相对定位
  • 设置中间div宽度100%
  • 设置左div的left:-左div宽度,margin-left:-100%
  • 设置右div的margin-right:-右div宽度

3、双飞翼布局

3.1 代码

双飞翼布局与圣杯布局大体上一样,但是不需要使用position;relative。

<div class="father">
<div class="center">
<div class="con">
哈时间冻结三星哈时间冻结三星哈时间冻结三星哈时间冻结三星哈时间冻结三星哈时间冻结三星哈时间冻结三星哈时间冻结三星哈时间冻结三星哈时间冻结三星哈时间冻结三星哈时间冻结三星哈时间冻结三星哈时间冻结三星
</div>
</div>
<div class="left">left</div>
<div class="right">right</div>
</div>
<style>
.father{
height: 300px;
min-width: 700px;
}
.father div{
height: 100%;
float: left;
}
.center{
width: 100%;
background: #ccc;
}
.left{
width: 200px;
background: #999;
margin-left: -100%;
}
.right{
width: 300px;
background: #666;
margin-left: -300px;
}
.con{
padding-left: 200px;
padding-right: 300px;
}
</style>

3.2 双飞翼布局总结:

  • 先写center盒子
  • center,left,right盒子浮动,center的盒子width:100%;
  • 给left盒子设置margin-left:-100%;
  • 给right盒子设置margin-left:-自己的宽度
  • 在center的盒子中放一个放内容的盒子,然后设置padding-left:left盒子的宽;padding-right:right盒子的宽
  • 给父元素设置有效宽min-width:left盒子的宽+right盒子的宽+center预留的宽

4、rem布局

rem是一种相对单位,类似em,指的是相对父元素字体大小。

<div class="wrap">
<div class="box">这是一个盒子</div>
</div>
<style>
.wrap{
font-size:20px;
}
.box{
font-size:2rem;
}
</style>

5、弹性盒布局

5.1 原理

弹性盒是一种新的布局手段,用于代替浮动来布局页面;而弹性盒分为弹性容器和弹性元素。若要使用弹性盒布局,需要先设置div的display:flex;即将div这个对象作为弹性伸缩盒显示(容器)。弹性容器默认在第一行显示,即它的弹性属性是:flex-direction:row。常见的弹性属性如下:

5.2 常见属性

弹性属性 描述 属性值
flex-direction 决定主轴(x抽)的方向 row(默认值)主轴为水平方向,起点在左端;row-reverse:主轴为水平方向,起点在右端;column:主轴为垂直方向,起点在上沿;column-reverse:主轴为垂直方向,起点在下沿
justify-content 定义了项目在主轴上的对齐方式 flex-start(默认值)左对齐;flex-end:右对齐;center:居中;space-between:两端对齐,项目之间的间隔都相等,弹性盒子元素会平均地分布在行里,两端靠边;space-around:每个项目两侧的间隔相等
align-items 定义项目在侧轴(纵轴)方向上的对齐方式 flex-start:侧轴轴的起点对齐;flex-end:侧轴轴的终点对齐; center:侧轴轴的中点对齐;baseline: 项目的第一行文字的基线对齐;stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度
flex-wrap 如果一条轴线排不下,如何换行 nowrap(默认):不换行;wrap:换行,第一行在上方;wrap-reverse:换行,第一行在下方
order 定义项目的排列顺序 默认是0不做排序;值越大越靠后;若排序的值相同,按照你的先后顺序进行排序
flex-grow 定义项目的放大比例 默认是0;若你的子元素的宽度不够,也不做放大比例
flex-shrink 定义项目的缩小比例 默认是0;子元素空间不足,也不会进行缩小比例

6、普通的响应式布局

响应式布局指的是同一页面在不同屏幕尺寸下有不同的布局

6.1 原理

使用媒体查询方式进行不同尺寸下的css更改。

6.2 媒体查询

@media screen and (max-width: 960px){
body{
background: #000;
}
}
// 上面这段代码里面有个screen,是在告知设备在打印页面时使用衬线字体,在屏幕上显示时用无衬线字体。可以直接省去,如: @media (max-width: 960px){
body{
background: #000;
}
}
@media screen and (max-device-width:960px){
body{
background:red;
}
}
// 这里表示当窗口尺寸等于960px时,body的背景颜色是red。 @media screen and (min-width:960px){
body{
background:orange;
}
}
// 这里表示当窗口尺寸大于960px时,body的背景颜色是orange。 @media screen and (min-width:960px) and (max-width:1200px){
body{
background:yellow;
}
}
// 这里表示当窗口尺寸大于960px并小于1200px时,body的背景颜色是yellow。

6.3 与自适应布局的区别

自适应是指在不同大小的设备上呈现相同的网页;响应式布局是指同一张网页自动适应不同大小的屏幕,根据屏幕的宽度,自动调节网页的内容大小。

6.4 实例

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>武汉亿房网</title>
<style>
* {
padding: 0;
list-style: none;
margin: 0;
} body,
html {
width: 100%;
height: 100%;
background: #000;
} .wrap {
width: 984px;
margin: 0 auto;
} .title {
color: #ff9900;
padding-top: 35px;
}
.nav {
width: 100%;
height: 50px;
}
.nav li{
background: #666633;
float: left;
width: 25%;
line-height: 50px;
text-align: center;
font-size: 12px;
color: #fff;
}
.con{
overflow: hidden;
margin-top: 12px;
}
.left{
width: 726px;
float: left;
background: #fff;
border-radius: 20px;
padding: 0 0px 25px;
}
.left p{
padding: 0 32px
}
.right{
width: 240px;
float: right;
border-radius: 20px;
}
.left h3{
padding-top: 12px;
padding-left: 12px;
}
.rigth_con1{
background: #fff;
border-radius: 20px;
height: 220px;
margin-bottom: 10px;
}
.rigth_con1 ul{
display: flex;
flex-wrap: wrap;
padding: 10px;
}
.rigth_con1 li{
width: 33.33%;
margin-bottom: 10px;
}
.rigth_con1 li img{
width: 100%;
}
.footer{
height: 36px;
background: #666699;
line-height: 36px;
text-align: center;
color: #fff;
}
.bb{
display: none;
} @media screen and (max-width:960px){
.bb{
display: block;
}
.aa{
display: none
}
.wrap{
width: 100%;
}
.title{
text-align: center;
}
.nav li{
width: 20%;
margin-right: 20px;
border-radius: 10px;
}
.left ,.right{
width: 100%;
}
.left{
margin-bottom: 20px;
}
.footer{
height: auto;
margin-top: 20px;
}
.footer span{
display: block;
background: #666699;
}
}
</style>
</head>
<body>
<div class="wrap">
<h1 class="title aa">往事随风</h1>
<h1 class="title bb">往事随风 三</h1>
<ul class="nav">
<li>亿房首页</li>
<li>
亿房信息</li>
<li> 在线咨询
</li>
<li>
亿房论坛</li>
</ul> <div class="con">
<div class="left">
<h3>武汉亿房网</h3>
<p>前端对于网站来说,通常是指,网站的前台部分包括网站的表现层和结构层。因此前端技术一般分为前端设计和前端开发,前端设计一般可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括基本的HTML和CSS以及JavaScript/ajax,现在最新的高级版本HTML5、CSS3,以及SVG等。</p>
<p>html指的是超文本标记语言 (Hyper Text Markup Language),这个也是我们网页最常用普通的语言了,经历了多个版本的发展,已经发展到5.0版了,得力于W3C建立的标准和规范,已普遍升级到了XHTML,XHTML 指可扩展超文本标签语言(EXtensible HyperText Markup Language), XHTML 于2000年的1月26日成为 W3C 标准,是更严格更纯净的 HTML 代码,XHTML 的目标是取代 HTML。XHTML 与 HTML 4.01 几乎是相同的,XHTML 是作为一种 XML 应用被重新定义的 HTML,是一个 W3C 标准。W3C 将 XHTML 定义为最新的HTML版本。所有新的浏览器都支持 XHTML</p>
<p>css级联样式表(Cascading Style Sheet)简称“CSS”,通常又称为“风格样式表(Style Sheet)”,它是用来进行网页风格设计的。比如,如果想让链接字未点击时是蓝色的,当鼠标移上去后字变成红色的且有下划线,这就是一种风格。通过设立样式表,可以统一地控制HTML中各标志的显示属性。级联样式表可以使人更能有效地控制网页外观。使用级联样式表,可以扩充精确指定网页元素位置,外观以及创建特殊效果的能力</p>
<p>javascript是一种由Netscape的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。于是Netscape的浏览器Navigator加入了Javascript,提供了数据验证的基本功能</p>
</div>
<div class="right">
<div class="rigth_con1"></div>
<div class="rigth_con1"></div>
<div class="rigth_con1">
<ul>
<li><img src="img/img/1.jpg" alt=""></li>
<li><img src="img/img/2.jpg" alt=""></li>
<li><img src="img/img/3.jpg" alt=""></li>
<li><img src="img/img/1.jpg" alt=""></li>
<li><img src="img/img/2.jpg" alt=""></li>
<li><img src="img/img/3.jpg" alt=""></li>
</ul>
</div>
<div class="rigth_con1"></div>
</div>
</div> <div class="footer">
<span>关于站长之家</span>
<span>联系我们(电话)</span>
<span>广告服务</span>
<span>友情链接</span>
<span>网站地图</span>
<span>版权声明</span>
<span>人才招聘</span>
</div>
</div>
</body>
</html>

HTML5+CSS3常见布局方式的更多相关文章

  1. css常见布局方式

    CSS常见布局方式 以下总结一下CSS中常见的布局方式.本人才疏学浅,如有错误,请留言指出. 如需转载,请注明出处:CSS常见布局方式 目录: 使用BFC隐藏属性 float + margin abs ...

  2. 好程序员分享DIV+CSS3和html5+CSS3有什么区别

    DIV+CSS3和html5+CSS3有什么区别,不管是DIV+CSS3还是html5+CSS3,他们都是我们对网页开发布局方式的统称,但是DIV+CSS3作为网页的基础开发这句话其实并不严谨,因为而 ...

  3. CSS原生布局方式

    前言 网页原生布局的方法其实网上有很多,大概为Flow(流动布局模型).Float(浮动布局模型).Layer(层级布局模型).<!--more--> Flow布局 流动布局模型其实就是默 ...

  4. html5/css3响应式布局介绍及设计流程

    html5/css3响应式布局介绍 html5/css3响应式布局介绍及设计流程,利用css3的media query媒体查询功能.移动终端一般都是对css3支持比较好的高级浏览器不需要考虑响应式布局 ...

  5. 第九十三节,html5+css3移动手机端流体布局,基础CSS,头部设计,轮播设计,底部设计

    html5+css3移动手机端流体布局,基础CSS,头部设计,轮播设计,底部设计 基础CSS 首先将通用css属性写好 @charset "utf-8"; /*通用样式*/ /*去 ...

  6. 【HTML5&CSS3进阶学习02】Header的实现·CSS中的布局

    前言 我们在手机上布局一般是这个样子的: 其中头部对整个mobile的设计至关重要,而且坑也很多: ① 一般来说整个header是以fixed布局,fixed这个产物在移动端来说本身坑就非常多 ② 在 ...

  7. Html5 布局方式

    在Html5之前,统一采用的是Div+css的方式进行布局,但是却和开发人员的命名方式,喜好有关.在新的Html5中,布局却显得更加人性化,更易理解了.如增加了Header,Footer,Sectio ...

  8. HTML5+CSS3学习笔记(二) 页面布局:HTML5新元素及其特性

    HTML5的语义化标签以及属性,可以让开发者非常方便地实现清晰的web页面布局,加上CSS3的效果渲染,快速建立丰富灵活的web页面显得非常简单. 本次学习HTML5的新标签元素有: <head ...

  9. 第九十四节,html5+css3移动手机端流体布局,旅游部分,媒体查询

    html5+css3移动手机端流体布局,旅游部分,媒体查询 媒体查询 媒体查询是手机网站和自适应网站的重要部分,媒体查询可以根据不同的屏幕大小,做响应的处理,如文字的大小,区块隐藏等等 媒体查询,这里 ...

随机推荐

  1. MySQL入门笔记一

    MySQL应用笔记   一MySQL关系型数据库.开源,中小型公司常用类型的数据库Oracle 大型公司常用数据库 MySQL基本的命令一. 创建.删除.查看数据库(database)创建库creat ...

  2. (最简单详细)IronPython下载、安装及简单使用

    说实话,对于我这种小白,在网上找个IronPython找的很费劲,学会操作之后,直接整个随笔,供新手参考.前提是现在你应该有VS了 (1)找到IronPython的网站 很多人肯定就按照习惯搜索,Ir ...

  3. AtCoder Beginner Contest 254(D-E)

    Tasks - AtCoder Beginner Contest 254 D - Together Square 题意: 给定一个N,找出所有不超过N的 ( i , j ),使得( i * j )是一 ...

  4. 第八十一篇:Vue购物车(二) 名称,图片,价格的渲染

    好家伙, 1,为组件封装属性, 需要封装以下属性: 需要定义的属性 属性名 值的类型 商品名 title String 商品图片 pic String 商品价格 price Number 是否勾选 s ...

  5. Linux网桥配置(用于大数据虚拟化)

    理解 VMware里面有三个虚拟机,分别为RHEL8,RHEL7,Windows的虚拟机,只有一个物理网卡连接物理网络,现在三台虚拟机都需要直连到物理网络,此时无法访问物理网络,只能给一个虚拟机访问物 ...

  6. Windows平台真实时毫秒级4K H264/H265直播技术方案

    背景 在刚提出4K视频的时候,大多数人都觉得没有必要,4K的出现,意味着更高的硬件规格和传输要求,1080P看的很爽.很清晰,完全满足了日常的需求.随着电视的尺寸越来越大,原本1080P成像已经无法满 ...

  7. webpack打包优化点

    目录 1. noParse 2. 包含和排除目录 3. IgnorePlugin 4. happypack 5. DllPlugin动态链接库 6. 热更新 7. 开发环境 tree-shaking ...

  8. Python数据科学手册-Pandas:层级索引

    一维数据 和 二维数据 分别使用Series 和 DataFrame 对象存储. 多维数据:数据索引 超过一俩个 键. Pandas提供了Panel 和 Panel4D对象 解决三维数据和四维数据. ...

  9. Linux病毒扫描工具ClamAV(Clam AntiVirus)安装使用

    在线检测木马病毒的网址:https://www.virustotal.com/gui/home/upload 一.简介 ClamAV(Clam AntiVirus)是Linux平台上的开源病毒扫描程序 ...

  10. MinIO存储桶通知指南

    官方文档地址:http://docs.minio.org.cn/docs/master/minio-bucket-notification-guide 存储桶(Bucket)如果发生改变,比如上传对象 ...