澳门新萄京官方网站-www.8455.com-澳门新萄京赌场网址

澳门新萄京官方网站footer布局的记挂和小结,h

2019-10-05 作者:澳门新萄京赌场网址   |   浏览(56)

“粘连”footer布局的思量和小结

2017/02/06 · CSS · 1 评论 · footer

正文作者: 伯乐在线 - 澳门新萄京官方网站footer布局的记挂和小结,h5开荒相关内容总括。zhiqiang21 。未经作者许可,禁绝转发!
款待出席伯乐在线 专辑撰稿人。

上一篇小说介绍了Flex布局的语法,明天介绍常见布局的Flex写法。
您会见到,不管是怎么样布局,Flex往往都得以几行命令消除。

作者: 阮一峰
日期: 2015年7月14日

活动端 h5开辟有关内容总计(3)

2016/02/01 · HTML5 · 3 评论 · 移动端

正文作者: 伯乐在线 - zhiqiang21 。未经作者许可,防止转发!
款待出席伯乐在线 专辑撰稿人。

事先写过两篇开垦中遇见的标题和消除方案。那时是 CSS 和 JavaScript 分开写的。以后写那篇小说的时候觉得相当多剧情都以有内在联系的,所以不佳分开。

给我们享受一下那5个月来的感受啊:

理解和领会里面是有比极大距离的。外人提起三个知识点,能接上嘴况兼能见报一下温馨的观念,那叫知道。际遇标题能够想到用什么样知识点消除难题,这叫精通。

所以有成都百货上千知识点自个儿实在在书上都看到过不过在平常遇见难题的时候却不精晓怎么去用大概说想到去用,不时候会有同事给一下教导说用什么样消除难题。关键时候依旧多看(看书,看外人的代码)和多用。

Sticky Footer,完美的相对化尾巴部分

2017/04/14 · CSS · 1 评论 · footer

原版的书文出处: 坑坑洼洼实验室   

经典的”粘连”footer布局

参谋小说链接在篇章最后,简单的语言总计如下:

优良的“粘连”footer布局正是。大家有一块内容<main>。当<main>的可观丰富长的时候,紧跟在<main>背后的要素<footer>会跟在<main>要素的背后。当<main>要素极短的时候(举个例子小于显示屏的莫斯中国科学技术大学学),大家期望以此<footer>要素能够“粘连”在显示屏的尾部。如下图所示:

main足足长时

澳门新萄京官方网站 1

main相当的短时

澳门新萄京官方网站 2

上边布局的实现方式在参谋文章中一度有提到。下边重要研究大家项目中遇见的气象:

大家需求贯彻的布局正是 开关“提交”所在的区域能够随便伸缩。当显示屏极低时,最正是“提交”开关和表单所在的区域接触照旧有自然的空隙。 示例图就是底下的:

当荧屏丰硕高的时候

澳门新萄京官方网站 3

当荧屏相当低的时候

澳门新萄京官方网站 4

地点的布局在运动端要求考虑以下因素对布局的影响:

  1. 安卓上键盘弹起会对absolutefixed发出震慑;
  2. 咱俩的断然定位的因素是应用的bottom争执于荧屏的底层定位;

为了缓慢解决上述的多个难点的化解方案:

  1. 动用正规文书档案流的要素包裹相对定位的成分;
  2. 相对定位成分的父级成分应该有一个min-height防护,父级成分太低时,绝对定位成分“溢出”父级成分;(min-height >= 绝对定位成分 bottom);

据他们说“粘连”footer布局的沉思,结合弹性盒布局。大家必要的这种布局能够有两种情势,分别介绍如下:

澳门新萄京官方网站 5

上一篇作品介绍了Flex布局的语法,明天介绍常见布局的Flex写法。
您会看出,不管是什么样布局,Flex往往都能够几行命令化解。

1.display:none; 和 visibility:hidden;的区别

display:none 关闭八个成分的彰显(对布局尚未影响);其抱有后代元素都也被会被关门呈现。文书档案渲染时,该因素就好像不设有。(不会显得在文书档案流中的地方,可是DOM 节点仍会出未来文书档案流中)
visibility:hidden visibility属性让你能够调整一个图纸成分的可知性,但是仍会据有展现时候在文书档案流中的地方。

使用 display:none 的时候即便成分不会展现,不过DOM 节点仍会产出,所以我们就能够利用选取器对该因素进行操作。如下图中的示例:

澳门新萄京官方网站 6

写在前边

做过网页开垦的同校只怕都遭遇过这么难堪的排版难点:
在入眼内容不丰富多依旧未完全加载出来之前,就能招致现身(图一)的这种情状,原因是因为尚未丰硕的垂直空间使得页脚推到浏览器窗口最尾部。可是,大家愿意的职能是页脚应该直接处在页面最尾部(如图二):

澳门新萄京官方网站 7

笔者近期在品种中也遇上过那样的情景,在追寻最棒技术方案的进度中,通晓到了 “Sticky Footer” 那一个名词。
正文将带大家重新认知那么些广阔的网页效果,以及一些有效的落到实处方案。

1.使用vh单位

先来了然下vhvw那多少个单位。

  1. vh相对于视口的万丈。视口被均分为100单位的vh。
  2. vw争论于视口的宽度。视口被均分为100单位的vw。

上边多个单位起初的意思就是在css中获得当前荧屏的可观和增幅(不经过js计算)。

以身作则代码如下:

XHTML

澳门新萄京官方网站footer布局的记挂和小结,h5开荒相关内容总括。<body> <div class="item1"></div> <div class="item2"></div> <div class="item3"> <div class="btn-item">你好</div> </div> </body>

1
2
3
4
5
6
7
<body>
    <div class="item1"></div>
    <div class="item2"></div>
    <div class="item3">
        <div class="btn-item">你好</div>
    </div>
</body>

css代码如下:

CSS

* { margin: 0; padding: 0; } body { /*重大就是此处获得视窗口的冲天*/ min-height: 100vh; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-flex-flow: column; -ms-flex-flow: column; flex-flow: column; } .item1 { height: 100px; background-color: #ddd } .item2 { height: 300px; background-color: #fea0a0 } .item3 { /*谨防相对定位的因素溢出父级元素*/ min-height: 30px !important; border: 1px solid #481eff; position: relative; height: 0; -webkit-box-flex: 1; -webkit-flex: 1; -moz-box-flex: 1; -ms-flex: 1; flex: 1; -webkit-flex-basis: 0; -ms-flex-preferred-size: 0; flex-basis: 0; max-height: 100%; } .btn-item { position: absolute; bottom: 10px; border: 1px solid #000; }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
* {
    margin: 0;
    padding: 0;
}
 
body {
    /*主要就是这里获取视窗口的高度*/
    min-height: 100vh;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: column;
    -ms-flex-flow: column;
    flex-flow: column;
}
 
.item1 {
    height: 100px;
    background-color: #ddd
}
 
.item2 {
    height: 300px;
    background-color: #fea0a0
}
 
.item3 {
    /*防止绝对定位的元素溢出父级元素*/
    min-height: 30px !important;
    border: 1px solid #481eff;
    position: relative;
    height: 0;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -moz-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    -webkit-flex-basis: 0;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    max-height: 100%;
}
 
.btn-item {
    position: absolute;
    bottom: 10px;
    border: 1px solid #000;
}

以上正是全然选取css来落实大家项目中布局的主意,但是这几个点子有一个很生硬的老毛病正是vh单位的宽容性难题。包容列表如下:

澳门新萄京官方网站 8

因为包容性难题,纯css的法子在大家的门类中应用依然不具体。可是大家想下难题的真相:在选用弹性盒的底子上,大家独一供给做的正是知情弹性盒成分的高度(便是我们项目中屏幕的可观)。

自身只列出代码,详细的语法解释请查阅《Flex布局教程:语法篇》。小编的要害参谋资料是Landon Schropp的篇章和Solved by Flexbox。
一、骰子的布局
骰子的一派,最多能够放置9个点。

澳门新萄京官方网站 9

2.事变冒泡引发的主题素材

以此题目是发生在团结上篇小说《h5端呼起录制头扫描二维码并分析》中的。详细的代码能够看那篇文章。

什么是 “Sticky Footer”

所谓 “Sticky Footer”,实际不是什么新的前端概念和能力,它指的正是一种网页效果:
假设页面内容不丰盛长时,页脚固定在浏览器窗口的底层;假设剧情丰硕长时,页脚固定在页面包车型客车最底部。
总的说来,就是页脚一贯处于最底,效果大约如图所示:

澳门新萄京官方网站 10

自然,完成这种功效的办法有很各个,个中有通过脚本总结的,有经过 CSS 处理的,脚本总括的方案大家不在本文钻探。
上面大家看看有啥样通过 CSS 能够完毕且适用于运动端支出的方案,并深入分析内部的利害。

2.js轻巧划算满意兼容难点。

尽管在dom树渲染完结未来给body设置中度未荧屏的中度。为了防止不须求的“重绘”也许是“重排”在head标签中增加如下js。

JavaScript

var callback = function(){ document.body.style.height=window.screen.height 'px'; }; //是还是不是是页面加载触发绑定了平地风波 if ( document.readyState === "complete" || (document.readyState !== "loading" && !document.documentElement.doScroll) ) { callback(); } else { //DOMContentLoaded 仅援救ie9 和活动端 <=ie8 使用 onreadystatechange 能够监听dom是或不是加载落成 document.addEventListener("DOMContentLoaded", callback); }

1
2
3
4
5
6
7
8
9
10
11
var callback = function(){
    document.body.style.height=window.screen.height 'px';
};
 
//是否是页面加载触发绑定了事件
if ( document.readyState === "complete" || (document.readyState !== "loading" && !document.documentElement.doScroll) ) {
    callback();
} else {
    //DOMContentLoaded 仅支持ie9 和移动端  <=ie8 使用 onreadystatechange  可以监听dom是否加载完毕
    document.addEventListener("DOMContentLoaded", callback);
}

使用 jQuery 或者是 Zepto 的章程,仍旧在head标签中增添如下js。

JavaScript

$(function(){ $('body').height($(window).height()); })

1
2
3
$(function(){
    $('body').height($(window).height());
})

之所以在我们的体系中结成弹性盒布局和增加轻松的动态js总结荧屏的中度。就足以圆满兑现大家项目中必要的布局。

CSS

body { /*采用js动态总计就足以不接纳vh单位*/ /*min-height: 100vh;*/ display: flex; }

1
2
3
4
5
body {
    /*使用js动态计算就可以不使用vh单位*/
    /*min-height: 100vh;*/
    display: flex;
}

澳门新萄京官方网站 11

自己只列出代码,详细的语法解释请查阅《Flex布局教程:语法篇》。我的入眼参照他事他说加以考察资料是Landon Schropp的文章和Solved by Flexbox。
一、骰子的布局
骰子的单向,最多能够停放9个点。

主题素材爆发的情景

先看一段html 代码:

XHTML

<div class="qr-btn" node-type="qr-btn">扫描二维码1 <input node-type="jsbridge" type="file" name="myPhoto" value="扫描二维码1" /> </div>

1
2
3
<div class="qr-btn" node-type="qr-btn">扫描二维码1
            <input node-type="jsbridge" type="file" name="myPhoto" value="扫描二维码1" />
</div>

前边小编的主张是以此样子的:
1.自身先触发qr-btn的 click 事件,在回调中触发 input 的click 事件click 事件
2.然后触发input 的 change 事件,获取上传图片的音信。

依照自身的思路代码应该是上面的这些样子的

JavaScript

//点击父级成分的风浪 $('.qr-btn').bind('click',function(){ //触发子成分的事件 $('[node-type=jsbridge]').trigger("click"); }); $('[node-type=jsbridge]').bind('change',function(){ //做一些专门的工作 });

1
2
3
4
5
6
7
8
//点击父级元素的事件
    $('.qr-btn').bind('click',function(){
        //触发子元素的事件
        $('[node-type=jsbridge]').trigger("click");
    });
    $('[node-type=jsbridge]').bind('change',function(){
        //做一些事情
    });

地点的代码,遵照平常的思绪应当是未曾难题的,不过,在实质上的周转进度中却产生了难题。浏览器的报错消息如下:

澳门新萄京官方网站 12
那是因为仓库溢出的主题素材。那么为什么会现出如此的难题吧?我把断点打在了以下的职位,然后点击子成分

澳门新萄京官方网站 13

发出的情状是:代码Infiniti次的触及$('.qr-btn').bind(...) ,就条件成熟自然发生了地点的报错消息。那么是哪些来头造成的吗?
思维一下意识:是因为事件冒泡的主题材料。笔者单击父成分触发子成分的click 事件,子成分的 click澳门新萄京官方网站, 事件又冒泡到父成分上,触发父成分的 click 事件,然后父成分再度接触了子成分的 click 事件,那就招致了风云的大循环

怎么着促成

假使大家页面包车型大巴 HTML 结构是这么:

XHTML

<div class="wrapper"> <div class="content"><!-- 页面主体内容区域 --></div> <div class="footer"><!-- 要求完结 Sticky Footer 效果的页脚 --></div> </div>

1
2
3
4
<div class="wrapper">
    <div class="content"><!-- 页面主体内容区域 --></div>
    <div class="footer"><!-- 需要做到 Sticky Footer 效果的页脚 --></div>
</div>

参照小说:

因为是贰个

cssstickyfooter.com
ryanfait.com/sticky-footer
css-tricks.com/snippets/css/sticky-footer
pixelsvsbytes.com/blog/2011/09/sticky-css-footers-the-flexible-way
mystrd.at/modern-clean-css-sticky-footer


澳门新萄京官方网站 14

打赏匡助笔者写出越来越多好小说,多谢!

打赏作者

上边,就来拜谒Flex怎么着落实,从1个点到9个点的布局。你能够到codepen查看Demo。

澳门新萄京官方网站 15

标题消除办法:

品味阻止事件的冒泡,看能够消除难点?
那大家品尝在触发子成分的click的时候,尝试组织子成分的冒泡,看好不佳消除作者的难题?加多如下的代码:

JavaScript

$('[node-type=jsbridge]').bind('click',function(e){ // console.log(e.type); e.stopPropagation(); });

1
2
3
4
$('[node-type=jsbridge]').bind('click',function(e){
      // console.log(e.type);
       e.stopPropagation();
});

通过自家的测验,代码是能够寻常的运作的。

那正是说我们有未有越来越好的措施来消除地点的难题吧?请看接下去的内容

完成方案一:absolute

通过相对定位管理相应是广阔的方案,只要使得页脚平素稳固在主容器预留占位地方。

CSS

html, body { height: 100%; } .wrapper { position: relative; min-height: 100%; padding-bottom: 50px; box-sizing: border-box; } .footer { position: absolute; bottom: 0; height: 50px; }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
html, body {
    height: 100%;
}
.wrapper {
    position: relative;
    min-height: 100%;
    padding-bottom: 50px;
    box-sizing: border-box;
}
.footer {
    position: absolute;
    bottom: 0;
    height: 50px;
}

这么些方案需点名 html、body 百分百 的冲天,且 content 的 padding-bottom 需要与 footer 的 height 一致。

打赏协助本人写出越多好小说,谢谢!

任选一种支付办法

澳门新萄京官方网站 16 澳门新萄京官方网站 17

1 赞 2 收藏 1 评论

澳门新萄京官方网站 18

上边,就来拜访Flex怎样兑现,从1个点到9个点的布局。你能够到codepen查看Demo。

3.lable标签的 for 属性

先来看 lable 标签的概念:

标签为`input`元素定义标注(标记)。 `label`元素不会向用户呈现任何特殊效果。不过,它为鼠标用户改进了可用性。如果您在 label 元素内点击文本,就会触发此控件。就是说,当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控件上。 标签的for属性应当与相关要素的 id 属性同样。

看想转手 w3school 的演示代码和效果与利益:

XHTML

<form> <label for="male">Male</label> <input type="radio" name="sex" id="male" /> <br /> <label for="female">Female</label> <input type="radio" name="sex" id="female" /> </form>

1
2
3
4
5
<form>  <label for="male">Male</label>
<input type="radio" name="sex" id="male" />
<br />  <label for="female">Female</label>
<input type="radio" name="sex" id="female" />
</form>

效率如下图:

澳门新萄京官方网站 19

到此处应该之道大家该怎么革新大家的代码了,

XHTML

<lable class="qr-btn" node-type="qr-btn" for="qr-input">扫描二维码1 <input node-type="jsbridge" id="qr-input" type="file" name="myPhoto" value="扫描二维码1" /> </lable>

1
2
3
<lable class="qr-btn" node-type="qr-btn" for="qr-input">扫描二维码1
        <input node-type="jsbridge" id="qr-input" type="file" name="myPhoto" value="扫描二维码1" />
</lable>

除去 lable 标签的体裁大家团结须要自身定义外,还只怕有三个亮点:

  • 减少了 JavaScript 的书写;
  • lable 标签和 input 标签未有必就算包蕴关系

实现方案二:calc

透过测算函数 calc 计算(视窗低度 – 页脚高度)赋予内容区最小中度,不须求其余额外样式管理,代码量起码、最简易。

CSS

.content { min-height: calc(100vh - 50px); } .footer { height: 50px; }

1
2
3
4
5
6
.content {
    min-height: calc(100vh - 50px);
}
.footer {
    height: 50px;
}

一旦不需思考 calc() 以及 vh 单位的相称情形,这是个很理想的兑现方案。
同样的主题素材是 footer 的可观值必要与 content 当中的总结值一致。

至于作者:zhiqiang21

澳门新萄京官方网站 20

做感到对的作业,假诺只怕是错的,那就做感到自身接受得起的事情! 个人主页 · 小编的稿子 · 11 ·      

澳门新萄京官方网站 21

假定不加说明,本节的HTML模板一律如下。
<div class="box"> <span class="item"></span></div>

澳门新萄京官方网站 22

4.“弹层盒”布局和平凡盒模型布局的利害相比较

近年做了一个抽取奖金的位移,在那之中就有三个轮盘的转动的卡通片效果(注意啦,中间的不行卡顿是 gif 图片又再度伊始播报了)。,效果如下图:

澳门新萄京官方网站 23

有关动画完成在下一篇小说中会继续介绍,这里最首要来关切下布局的标题。因为我们页面会在 pc 和活动移动各出一套。所以在 pc 和移动自身分别用了二种方案,pc 古板布局达成,h5 “弹性盒”实现。

贯彻方案三:table

透过 table 属性使得页面以表格的形制表现。

CSS

html, body { height: 100%; } .wrapper { display: table; width: 100%; min-height: 100%; } .content { display: table-row; height: 100%; }

1
2
3
4
5
6
7
8
9
10
11
12
html, body {
    height: 100%;
}
.wrapper {
    display: table;
    width: 100%;
    min-height: 100%;
}
.content {
    display: table-row;
    height: 100%;
}

急需注意的是,使用 table 方案存在贰个比较布满的样式限制,常常margin、padding、border 等品质会不相符预期。
小编不建议采用那几个方案。当然,难题也是足以缓慢解决的:别把别的样式写在 table 上。

下边代码中,div成分(代表骰子的三个面)是Flex容器,span成分(代表贰个点)是Flex项目。若是有四个档案的次序,就要增加多个span成分,就那样类推。
1.1 单项目
第一,独有左上角1个点的景观。Flex布局暗许正是首行左对齐,所以一行代码就够了。

若果不加表明,本节的HTML模板一律如下。
<div class="box"> <span class="item"></span></div>

1.弹性盒达成九宫格

外面包车型客车那么些灯是应用绝对化定位来做的,就可是过多的牵线,主要的是看中间的奖品九宫格的一部分。html 代码如下:

XHTML

<div class="re-middle"> <div class="row-a" node-type="row-a"> <div>mac pro</div> <div>扫地机器人</div> <div>iphone6s</div> </div> <div class="row-b" node-type="row-b"> <div>20积分</div> <div></div> <div>减价券</div> </div> <div class="row-c" node-type="row-c"> <div>ps4</div> <div> <p>猴年限定</p>公仔</div> <div>祝福红包</div> </div> <div node-type="reward-layer"></div> </div>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<div class="re-middle">
    <div class="row-a" node-type="row-a">
        <div>mac pro</div>
        <div>扫地机器人</div>
        <div>iphone6s</div>
    </div>
    <div class="row-b" node-type="row-b">
        <div>20积分</div>
        <div></div>
        <div>优惠券</div>
    </div>
    <div class="row-c" node-type="row-c">
        <div>ps4</div>
        <div>
            <p>猴年限定</p>公仔</div>
        <div>祝福红包</div>
    </div>
    <div node-type="reward-layer"></div>
</div>

css代码如下:

CSS

.re-middle { position: absolute; width: 28.3rem; height: 16rem; top: 0; left: 0; right: 0; bottom: 0; margin: auto; background-color: #f69f75; color: #ffdece; font-size: 1.8rem; } .row-a, .row-b, .row-c { height: 5.3rem; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-flow: row nowrap; -ms-flex-flow: row nowrap; flex-flow: row nowrap; } .row-a div, .row-b div, .row-c div { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; text-align: center; line-height: 5.3rem; background-color: #f69f75; }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
.re-middle {
    position: absolute;
    width: 28.3rem;
    height: 16rem;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    background-color: #f69f75;
    color: #ffdece;
    font-size: 1.8rem;
}
.row-a,
.row-b,
.row-c {
    height: 5.3rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row nowrap;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
}
.row-a div,
.row-b div,
.row-c div {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    text-align: center;
    line-height: 5.3rem;
    background-color: #f69f75;
}

由地点的 css 代码能够看出来自作者唯有是在档期的顺序方向上采取了“弹性盒”,而在竖直的取向上,依旧选择了固定高度(因为自个儿是用的 rem 单位,这里的一定也是不正确的,中度会基于 fontsize 值举行计算。)

那么可不得以在竖直和水准都以用“弹性盒”呢?
来看一下底下的css代码:

CSS

.re-middle { position: absolute; width: 28.3rem; height: 16rem; top: 0; left: 0; right: 0; bottom: 0; margin: auto; background-color: #f69f75; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; color: #ffdece; font-size: 1.8rem; } .row-a, .row-b, .row-c { /*height: 5.3rem;*/ -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-flow: row nowrap; -ms-flex-flow: row nowrap; flex-flow: row nowrap; } .row-a div, .row-b div, .row-c div { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; text-align: center; line-height: 5.3rem; background-color: #f69f75; /*position: relative;*/ -webkit-box-align:center; -webkit-align-items:center; -ms-flex-align:center; align-items:center; }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
.re-middle {
    position: absolute;
    width: 28.3rem;
    height: 16rem;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    background-color: #f69f75;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    color: #ffdece;
    font-size: 1.8rem;
}
.row-a,
.row-b,
.row-c {
    /*height: 5.3rem;*/
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row nowrap;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
}
.row-a div,
.row-b div,
.row-c div {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    text-align: center;
    line-height: 5.3rem;
    background-color: #f69f75;
    /*position: relative;*/
    -webkit-box-align:center;
    -webkit-align-items:center;
        -ms-flex-align:center;
            align-items:center;
}

周六的时候有关这一个布局自个儿又翻书看了下“弹性盒”的文书档案,终于达成了在竖直和垂直方向上都落实内容的品位垂直居中内部成分。实质上上边的代码只必要把内容的父级成分再度定义为display:flex再增多八个属性justify-contentalign-items就足以了。后边贰个是调控弹性盒的原委垂直方向居中,前面一个决定内容水平方向居中。

详见代码如下:

CSS

.row-a div, .row-b div, .row-c div { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; border: 1px solid #000; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
.row-a div,
.row-b div,
.row-c div {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    border: 1px solid #000;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}

金镶玉裹福禄双全方案四:Flexbox

Flexbox 是非常符合实现这种意义的,使用 Flexbox 完成不唯有无需其余额外的成分,并且允许页脚的冲天是可变的。

虽说当先贰分一 Flexbox 布局常用于水平方向布局,但别忘了实际上它也可用于垂直布局,所以您要求做的是将垂直部分包装在一个Flex 容器中,并选择要推而广之的一部分,他们将自动占用其容器中的全体可用空间。

CSS

html { height: 100%; } body { min-height: 100%; display: flex; flex-direction: column; } .content { flex: 1; }

1
2
3
4
5
6
7
8
9
10
11
html {
    height: 100%;
}
body {
    min-height: 100%;
    display: flex;
    flex-direction: column;
}
.content {
    flex: 1;
}

亟待当心的是想要宽容各样系统设备,必要兼顾 flex 的合作写法。

澳门新萄京官方网站 24

地点代码中,div成分(代表骰子的多少个面)是Flex容器,span成分(代表叁个点)是Flex项目。假使有多个项目,将要增加三个span成分,就那样类推。
1.1 单项目
首先,独有左上角1个点的意况。Flex布局默许正是首行左对齐,所以一行代码就够了。

2.守旧方法贯彻

与 h5 端相比较,小编在 pc 端的兑现是守旧的浮动情势.小编的 HTML 代码如下:

XHTML

<div class="re-middle"> <div class="row-a"> <div>mac pro</div> <div class="row-a-sec">祝福红包</div> <div class="row-a-last"> iphone 6s</div> </div> <div class="row-b clearfix"> <div>减价券</div> <div class="row-b-sec"></div> <div class="row-b-last">20积分</div> </div> <div class="row-c"> <div>扫地机器人</div> <div class="row-c-sec">猴年限定 <p>公仔</p> </div> <div class="row-c-last">ps4</div> </div> <div class="reward-btn"></div> </div>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<div class="re-middle">
    <div class="row-a">
        <div>mac pro</div>
        <div class="row-a-sec">祝福红包</div>
        <div class="row-a-last"> iphone 6s</div>
    </div>
    <div class="row-b clearfix">
        <div>优惠券</div>
        <div class="row-b-sec"></div>
        <div class="row-b-last">20积分</div>
    </div>
    <div class="row-c">
        <div>扫地机器人</div>
        <div class="row-c-sec">猴年限定
            <p>公仔</p>
        </div>
        <div class="row-c-last">ps4</div>
    </div>
    <div class="reward-btn"></div>
</div>

css 代码如下:

CSS

.re-middle { background-color: #f89f71; width: 530px; height: 320px; position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; } .row-a, .row-b, .row-c { /*height: 106px;*/ font-size: 0; overflow: hidden; } .row-a > div, .row-c > div { float: left; width: 176px; height: 106px; text-align: center; } .row-b div { float: left; width: 176px; height: 106px; text-align: center; line-height: 106px; background-color: #f69f75; }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
.re-middle {
    background-color: #f89f71;
    width: 530px;
    height: 320px;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}
.row-a,
.row-b,
.row-c {
    /*height: 106px;*/
    font-size: 0;
    overflow: hidden;
}
.row-a > div,
.row-c > div {
    float: left;
    width: 176px;
    height: 106px;
    text-align: center;
}
.row-b div {
    float: left;
    width: 176px;
    height: 106px;
    text-align: center;
    line-height: 106px;
    background-color: #f69f75;
}

由地点的 css 代码比较看大家可以确定看出守旧的更改格局的布局和“弹性盒”布局的片段优缺点:

  • float布局代码简洁,可是必需鲜明的内定盒子的大幅度和惊人,多荧屏的适配上会差那么一点(rem动态总计除此之外)。
  • “弹性盒”布局代码应用新的 css3属性,供给增加额外的商家前缀,扩大了代码的复杂度(加多厂家前缀能够动用 sublime 插件,一键完结,推荐自家的篇章 前端开荒程序员的 sublime 配置)
  • “弹性盒”为多显示器的适配提供了便利性。作者不用去关怀子成分的大幅和惊人是有一些,可能是显示屏的增进率是不怎么,都会基于实际请款flex本人会去适配。

相遇的一个小意思,多行文本的惩治居中:
本条九宫格内的文件成分,假使只是单行的话,只要使用 line-height 就能够化解问题,然则假使多行啊?会出哪些状态吗,看下图:
澳门新萄京官方网站 25

之所以那边只好缅想不使用line-height,使用padding 来解决问题,尝试padding后的效果与利益。如下图:
澳门新萄京官方网站 26

能够观望容器的上边多出了一某个。那也是大家采取的padding的标题,那么怎么消除那一个难点啊?那就要动用从前涉嫌过的box-sizing来缓慢解决难点。

CSS

.row-c-sec { color: #ffdece; font-size: 30px; padding-top: 17px; background-color: #f69f75; /*使容器的高=内容中度 padding border*/ box-sizing: border-box; }

1
2
3
4
5
6
7
8
.row-c-sec {
    color: #ffdece;
    font-size: 30px;
    padding-top: 17px;
    background-color: #f69f75;
    /*使容器的高=内容高度 padding border*/
    box-sizing: border-box;
}

写在结尾

如上两种完毕方案,作者都在项目中尝试过,每种完成的章程其实一模一样,同期也都有投机的利害。
当中一些方案存在限制性难点,需求稳固页脚中度;个中有个别方案要求加多额外的要素或许须求Hack 花招。同学们方可依附页面具体需求,选择最相符的方案。

本来,手艺是不断更新的,只怕还会有好些个两样的、越来越好的方案。但相信大家最后目没什么不相同的,为了更加好的客户体验!

参谋资料:

1 赞 4 收藏 1 评论

澳门新萄京官方网站 27

.box { display: flex;}

澳门新萄京官方网站 28

5.按键数十二次付给的应用方案

在做“跑马灯”插件的时候蒙受了贰个难题,就是顾客点击起头抽取奖品按键之后在还未曾回来结果的时候客商又第贰回点击抽取奖金开关,这年机遇出现“奇葩”的难题。举个例子说:第三遍呼吁和首回呼吁重合重返的结果突显哪二个,固然允许顾客张开叁回抽取奖品,交互也不和煦。何况一旦前端页面不做限定以来,显示也会产出奇葩的主题材料。例如上面那样:

澳门新萄京官方网站 29

如此是还是不是很倒霉啊。。。

那便是说我是怎么搞定那么些难点啊?
答案很轻易,我正是在点击开关之后,使用相对化定位弹起了四个透明的弹层,将按键给覆盖,等结果重回并展现今后,作者在同期去掉弹层。那样就幸免了客户的重新提交。详细看一下代码:

XHTML

<div node-type="cover_layer"></div>

1
<div node-type="cover_layer"></div>

CSS

cover-layer{ width:100%; height:100%; top:0; position:absolute; z-index:9999; }

1
2
3
4
5
6
7
cover-layer{
    width:100%;
    height:100%;
    top:0;
    position:absolute;
    z-index:9999;
}

此处保证本身的这些透明的弹层能够覆盖在抽取奖品开关的上边。当然这么些class 是自个儿经过JavaScript动态的增进和删除的。

JavaScript

$(node).on('clcik','.reward-btn',function(){ //呼起弹层 $('[node-type=cover_layer]',node).addClass('cover-layer'); ..... //再次回到结果之后去掉弹层 $('[node-type=cover_layer]',node).removeClass('cover-layer'); ..... });

1
2
3
4
5
6
7
8
$(node).on('clcik','.reward-btn',function(){
    //呼起弹层
    $('[node-type=cover_layer]',node).addClass('cover-layer');
    .....
    //返回结果以后去掉弹层
    $('[node-type=cover_layer]',node).removeClass('cover-layer');
    .....
});

本次的分享就到这里,下一遍会享用“轮盘”抽取奖品效果的 JavaScript 开荒进度。

打赏扶助本人写出越来越多好小说,感激!

打赏我

设置项指标对齐格局,就能够兑现居中对齐和右对齐。

.box { display: flex;}

打赏扶助自个儿写出越来越多好文章,谢谢!

任选一种支付办法

澳门新萄京官方网站 30 澳门新萄京官方网站 31

2 赞 16 收藏 3 评论

澳门新萄京官方网站 32

设置项指标对齐格局,就可以促成居中对齐和右对齐。

有关作者:zhiqiang21

澳门新萄京官方网站 33

做感到对的事情,假设大概是错的,那就做以为自个儿接受得起的事情! 个人主页 · 笔者的稿子 · 11 ·      

澳门新萄京官方网站 34

.box { display: flex; justify-content: center;}

澳门新萄京官方网站 35

澳门新萄京官方网站 36

.box { display: flex; justify-content: center;}

.box { display: flex; justify-content: flex-end;}

澳门新萄京官方网站 37

安装交叉轴对齐情势,可以垂直运动主轴。

.box { display: flex; justify-content: flex-end;}

澳门新萄京官方网站 38

设置交叉轴对齐格局,能够垂直运动主轴。

.box { display: flex; align-items: center;}

澳门新萄京官方网站 39

澳门新萄京官方网站 40

.box { display: flex; align-items: center;}

.box { display: flex; justify-content: center; align-items: center;}

澳门新萄京官方网站 41

澳门新萄京官方网站 42

.box { display: flex; justify-content: center; align-items: center;}

.box { display: flex; justify-content: center; align-items: flex-end;}

澳门新萄京官方网站 43

澳门新萄京官方网站 44

.box { display: flex; justify-content: center; align-items: flex-end;}

.box { display: flex; justify-content: flex-end; align-items: flex-end;}

澳门新萄京官方网站 45

1.2 双项目

.box { display: flex; justify-content: flex-end; align-items: flex-end;}

澳门新萄京官方网站 46

1.2 双项目

.box { display: flex; justify-content: space-between;}

澳门新萄京官方网站 47

澳门新萄京官方网站 48

.box { display: flex; justify-content: space-between;}

.box { display: flex; flex-direction: column; justify-content: space-between;}

澳门新萄京官方网站 49

澳门新萄京官方网站 50

.box { display: flex; flex-direction: column; justify-content: space-between;}

.box { display: flex; flex-direction: column; justify-content: space-between; align-items: center;}

澳门新萄京官方网站 51

澳门新萄京官方网站 52

.box { display: flex; flex-direction: column; justify-content: space-between; align-items: center;}

.box { display: flex; flex-direction: column; justify-content: space-between; align-items: flex-end;}

澳门新萄京官方网站 53

澳门新萄京官方网站 54

.box { display: flex; flex-direction: column; justify-content: space-between; align-items: flex-end;}

.box { display: flex;}.item:nth-child(2) { align-self: center;}

澳门新萄京官方网站 55

澳门新萄京官方网站 56

.box { display: flex;}.item:nth-child(2) { align-self: center;}

.box { display: flex; justify-content: space-between;}.item:nth-child(2) { align-self: flex-end;}

澳门新萄京官方网站 57

1.3 三项目

.box { display: flex; justify-content: space-between;}.item:nth-child(2) { align-self: flex-end;}

澳门新萄京官方网站 58

1.3 三项目

.box { display: flex;}.item:nth-child(2) { align-self: center;}.item:nth-child(3) { align-self: flex-end;}

澳门新萄京官方网站 59

1.4 四项目

.box { display: flex;}.item:nth-child(2) { align-self: center;}.item:nth-child(3) { align-self: flex-end;}

澳门新萄京官方网站 60

1.4 四项目

.box { display: flex; flex-wrap: wrap; justify-content: flex-end; align-content: space-between;}

澳门新萄京官方网站 61

澳门新萄京官方网站 62

.box { display: flex; flex-wrap: wrap; justify-content: flex-end; align-content: space-between;}

HTML代码如下。
<div class="box"> <div class="column"> <span class="item"></span> <span class="item"></span> </div> <div class="column"> <span class="item"></span> <span class="item"></span> </div></div>

澳门新萄京官方网站 63

CSS代码如下。
.box { display: flex; flex-wrap: wrap; align-content: space-between;}.column { flex-basis: 100%; display: flex; justify-content: space-between;}

HTML代码如下。
<div class="box"> <div class="column"> <span class="item"></span> <span class="item"></span> </div> <div class="column"> <span class="item"></span> <span class="item"></span> </div></div>

1.5 六项目

CSS代码如下。
.box { display: flex; flex-wrap: wrap; align-content: space-between;}.column { flex-basis: 100%; display: flex; justify-content: space-between;}

澳门新萄京官方网站 64

1.5 六项目

.box { display: flex; flex-wrap: wrap; align-content: space-between;}

澳门新萄京官方网站 65

澳门新萄京官方网站 66

.box { display: flex; flex-wrap: wrap; align-content: space-between;}

.box { display: flex; flex-direction: column; flex-wrap: wrap; align-content: space-between;}

澳门新萄京官方网站 67

澳门新萄京官方网站 68

.box { display: flex; flex-direction: column; flex-wrap: wrap; align-content: space-between;}

HTML代码如下。
<div class="box"> <div class="row"> <span class="item"></span> <span class="item"></span> <span class="item"></span> </div> <div class="row"> <span class="item"></span> </div> <div class="row"> <span class="item"></span> <span class="item"></span> </div></div>

澳门新萄京官方网站 69

CSS代码如下。
.box { display: flex; flex-wrap: wrap;}.row{ flex-basis: 100%; display:flex;}.row:nth-child(2){ justify-content: center;}.row:nth-child(3){ justify-content: space-between;}

HTML代码如下。
<div class="box"> <div class="row"> <span class="item"></span> <span class="item"></span> <span class="item"></span> </div> <div class="row"> <span class="item"></span> </div> <div class="row"> <span class="item"></span> <span class="item"></span> </div></div>

1.6 九项目

CSS代码如下。
.box { display: flex; flex-wrap: wrap;}.row{ flex-basis: 100%; display:flex;}.row:nth-child(2){ justify-content: center;}.row:nth-child(3){ justify-content: space-between;}

澳门新萄京官方网站 70

1.6 九项目
[图表上传中。。。(23)]
.box { display: flex; flex-wrap: wrap;}

.box { display: flex; flex-wrap: wrap;}

二、网格布局
2.1 基本网格布局
最简单易行的网格布局,正是平均布满。在容器里面平均分配空间,跟下面的骰子布局很像,可是急需设置项目标自发性缩放。

二、网格布局
2.1 基本网格布局
最简易的网格布局,正是平均布满。在容器里面平均分配空间,跟上面的骰子布局很像,然而须求安装项指标全自动缩放。

澳门新萄京官方网站 71

澳门新萄京官方网站 72

HTML代码如下。
<div class="Grid"> <div class="Grid-cell">...</div> <div class="Grid-cell">...</div> <div class="Grid-cell">...</div></div>

HTML代码如下。
<div class="Grid"> <div class="Grid-cell">...</div> <div class="Grid-cell">...</div> <div class="Grid-cell">...</div></div>

CSS代码如下。
.Grid { display: flex;}.Grid-cell { flex: 1;}

CSS代码如下。
.Grid { display: flex;}.Grid-cell { flex: 1;}

2.2 百分比搭架子
某些网格的增加率为确定地点的比例,其他网格平均分配剩余的上空。

2.2 百分比搭架子
有个别网格的增进率为定位的比例,别的网格平均分配剩余的上空。

澳门新萄京官方网站 73

澳门新萄京官方网站 74

HTML代码如下。
<div class="Grid"> <div class="Grid-cell u-1of4">...</div> <div class="Grid-cell">...</div> <div class="Grid-cell u-1of3">...</div></div>

HTML代码如下。
<div class="Grid"> <div class="Grid-cell u-1of4">...</div> <div class="Grid-cell">...</div> <div class="Grid-cell u-1of3">...</div></div>

.Grid { display: flex;}.Grid-cell { flex: 1;}.Grid-cell.u-full { flex: 0 0 100%;}.Grid-cell.u-1of2 { flex: 0 0 50%;}.Grid-cell.u-1of3 { flex: 0 0 33.3333%;}.Grid-cell.u-1of4 { flex: 0 0 25%;}

.Grid { display: flex;}.Grid-cell { flex: 1;}.Grid-cell.u-full { flex: 0 0 100%;}.Grid-cell.u-1of2 { flex: 0 0 50%;}.Grid-cell.u-1of3 { flex: 0 0 33.3333%;}.Grid-cell.u-1of4 { flex: 0 0 25%;}

三、圣杯布局
圣杯布局)(Holy Grail Layout)指的是一种最广大的网址布局。页面从上到下,分成三个部分:尾部(header),躯干(body),尾巴部分(footer)。个中人体又水平分为三栏,从左到右为:导航、主栏、副栏。

三、圣杯布局
圣杯布局)(Holy Grail Layout)指的是一种最常见的网址布局。页面从上到下,分成八个部分:尾部(header),躯干(body),尾巴部分(footer)。在那之中人体又水平分为三栏,从左到右为:导航、主栏、副栏。

澳门新萄京官方网站 75

澳门新萄京官方网站 76

HTML代码如下。
<body class="HolyGrail"> <header>...</header> <div class="HolyGrail-body"> <main class="HolyGrail-content">...</main> <nav class="HolyGrail-nav">...</nav> <aside class="HolyGrail-ads">...</aside> </div> <footer>...</footer></body>

HTML代码如下。
<body class="HolyGrail"> <header>...</header> <div class="HolyGrail-body"> <main class="HolyGrail-content">...</main> <nav class="HolyGrail-nav">...</nav> <aside class="HolyGrail-ads">...</aside> </div> <footer>...</footer></body>

CSS代码如下。
.HolyGrail { display: flex; min-height: 100vh; flex-direction: column;}header,footer { flex: 1;}.HolyGrail-body { display: flex; flex: 1;}.HolyGrail-content { flex: 1;}.HolyGrail-nav, .HolyGrail-ads { /* 五个边栏的宽窄设为12em / flex: 0 0 12em;}.HolyGrail-nav { / 导航放到最左侧 */ order: -1;}

CSS代码如下。
.HolyGrail { display: flex; min-height: 100vh; flex-direction: column;}header,footer { flex: 1;}.HolyGrail-body { display: flex; flex: 1;}.HolyGrail-content { flex: 1;}.HolyGrail-nav, .HolyGrail-ads { /* 多少个边栏的宽窄设为12em / flex: 0 0 12em;}.HolyGrail-nav { / 导航放到最侧面 */ order: -1;}

倘倘使小显示屏,躯干的三栏自动成为垂直叠合。
@media (max-width: 768px) { .HolyGrail-body { flex-direction: column; flex: 1; } .HolyGrail-nav, .HolyGrail-ads, .HolyGrail-content { flex: auto; }}

倘使是小显示器,躯干的三栏自动形成垂直叠合。
@media (max-width: 768px) { .HolyGrail-body { flex-direction: column; flex: 1; } .HolyGrail-nav, .HolyGrail-ads, .HolyGrail-content { flex: auto; }}

四、输入框的布局
作者们平日必要在输入框的前敌增多提醒,后方加多按键。

四、输入框的布局
大家平时必要在输入框的战线加多提醒,后方加多开关。

澳门新萄京官方网站 77

澳门新萄京官方网站 78

HTML代码如下。
<div class="InputAddOn"> <span class="InputAddOn-item">...</span> <input class="InputAddOn-field"> <button class="InputAddOn-item">...</button></div>

HTML代码如下。
<div class="InputAddOn"> <span class="InputAddOn-item">...</span> <input class="InputAddOn-field"> <button class="InputAddOn-item">...</button></div>

CSS代码如下。
.InputAddOn { display: flex;}.InputAddOn-field { flex: 1;}

CSS代码如下。
.InputAddOn { display: flex;}.InputAddOn-field { flex: 1;}

五、悬挂式布局
不常,主栏的左臂或左臂,须求增加贰个图片栏。

五、悬挂式布局
神蹟,主栏的右边手或右臂,要求加多贰个图片栏。

澳门新萄京官方网站 79

澳门新萄京官方网站 80

HTML代码如下。
<div class="Media"> <img class="Media-figure" src="" alt=""> <p class="Media-body">...</p></div>

HTML代码如下。
<div class="Media"> <img class="Media-figure" src="" alt=""> <p class="Media-body">...</p></div>

CSS代码如下。
.Media { display: flex; align-items: flex-start;}.Media-figure { margin-right: 1em;}.Media-body { flex: 1;}

CSS代码如下。
.Media { display: flex; align-items: flex-start;}.Media-figure { margin-right: 1em;}.Media-body { flex: 1;}

六、固定的底栏
有的时候,页面内容太少,无法占满一屏的冲天,底栏就能够抬高到页面包车型地铁高级中学级。那时可以使用Flex布局,让底栏总是出现在页面包车型地铁最底层。
[图形上传中。。。(29)]
HTML代码如下。
<body class="Site"> <header>...</header> <main class="Site-content">...</main> <footer>...</footer></body>

六、固定的底栏
不常,页面内容太少,无法占满一屏的惊人,底栏就能够抬高到页面包车型客车中游。这时能够应用Flex布局,让底栏总是出现在页面包车型大巴最底层。

CSS代码如下。
.Site { display: flex; min-height: 100vh; flex-direction: column;}.Site-content { flex: 1;}

澳门新萄京官方网站 81

七,流式布局
每行的品种数一定,会活动分行。
[图片上传中。。。(30)]
CSS的写法。
.parent { width: 200px; height: 150px; background-color: black; display: flex; flex-flow: row wrap; align-content: flex-start;}.child { box-sizing: border-box; background-color: white; flex: 0 0 25%; height: 50px; border: 1px solid red;}

HTML代码如下。
<body class="Site"> <header>...</header> <main class="Site-content">...</main> <footer>...</footer></body>

(完)

CSS代码如下。

.Site { display: flex; min-height: 100vh; flex-direction: column;}.Site-content { flex: 1;}

七,流式布局
每行的花色数一定,会自行分行。

澳门新萄京官方网站 82

CSS的写法。
.parent { width: 200px; height: 150px; background-color: black; display: flex; flex-flow: row wrap; align-content: flex-start;}.child { box-sizing: border-box; background-color: white; flex: 0 0 25%; height: 50px; border: 1px solid red;}

(完)

本文由澳门新萄京官方网站发布于澳门新萄京赌场网址,转载请注明出处:澳门新萄京官方网站footer布局的记挂和小结,h

关键词: