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. 基于Go语言的xmind读写库,我主要用来把有道云笔记思维导图转为xmind

    项目地址 xmind 基于go语言的xmind接口 使用方法参考: example 本库主要加载xmind文件为json结构,保存文件时也用的json结构而不是xml结构 本库只做了最基本的主题添加功 ...

  2. C# 使用if(DEBUG)调试 失效问题

    在调试winform程序的时候,经常会切换debug和release模式.有些时候在debug模式下不想用的东西就会使用 #if(!DEBUG) #endif 但是这次在新项目的时候,使用这个语句,失 ...

  3. 解决前端开发报错(SyntaxError: missing : after property id)的问题

    当使用对象初始化语法创建对象的时候,需要使用半角冒号 (:) 将属性键与属性值隔开. 1 var obj = { propertyKey: 'value' }; 冒号与等号 下面的代码会运行失败,原因 ...

  4. Mac_mysql_密码重置

    1 通过Mac 的设置 stop mysql 2 跳过权限认证 // 进入数据库指令文件 cd /usr/local/mysql/bin // 跳过权限认证 sudo ./mysqld_safe -- ...

  5. [AI]-模型测试和评价指标

    模型测试 import cv2 from torchvision import transforms, datasets, models from torch.utils.data import Da ...

  6. 在工作组的环境中配置Windows 2012 R2的远程桌面服务

    在工作组的环境中配置Windows 2012 R2的远程桌面服务 How to configure Remote Desktop Service in Windows 2012 R2 workgrou ...

  7. SkyWalking 6.x 的架构图

    可以看到主要由四部分组成: Agent(也叫Probe):代理或者探针,集成在被监测的应用中(SDK形式或者动态注入),采集应用的数据发送给后端(OAP). UI:自带的Web页面. OAP:后端,接 ...

  8. CentOS7.9 yum方式安装redis最新版

    yum install -y http://rpms.famillecollet.com/enterprise/remi-release-7.rpm yum --enablerepo=remi ins ...

  9. 采用阿里云 yum的方式安装ceph

    首先机器需要联网,并且配置网络yum源,epel源,可从阿里开源镜像站中下载源文件. 注:EPEL (Extra Packages for Enterprise Linux)是基于Fedora的一个项 ...

  10. 修改NodePort的范围

    在 Kubernetes 集群中,NodePort 默认范围是 30000-32767,某些情况下,因为您所在公司的网络策略限制,您可能需要修改 NodePort 的端口范围 修改kube-apise ...