云顶集团400800044

当前位置:云顶集团400800044 > 云顶集团400800044 > 浅谈Hybrid技巧的铺排性与贯彻第三弹,是你不懂

浅谈Hybrid技巧的铺排性与贯彻第三弹,是你不懂

来源:http://www.ofertasanjuan.com 作者:云顶集团400800044 时间:2019-11-27 07:50

安装监听端口

Proxy SettingsHTTP ProxyProxiesHTTP Proxy 中设置

layout viewport

Apple也发觉了这几个题材,並且及时的产出,它提议了一个方案用来解决那一个难点。在iOS Safari中定义了三个viewport meta标签,用来创建多少个假造的布局视口(layout viewport),而这几个视口的分辨率周围于PC显示器,Apple将其定义为980px(别的厂家各有差异①卡塔尔。

那就很好的缓和了最先的页面在手提式有线电话机上呈现的主题材料,由于两个之间的宽窄趋近,CSS只须要像在PC上那么渲染页面就行,原有的页面结构不会被毁掉。

①的陈说大概如下,数值不自然持续标准,厂家或许改动,但那么些相对值其实无须特地主要:
iOS, Android基本都以: 980px
BlackBerry: 1024px

那或许是史上最全的CSS自适应布局计算

2016/05/11 · CSS · 自适应布局

初藳出处: 茄果   

标题严峻服从了新广告法,你再不爽,作者也没不合法呀!屁话没有多少说,直入!

所谓布局,其实包罗七个意思:尺寸与稳定。也正是说,全体与尺寸和固定有关的属性,都足以用来布局。

粗粗上,布局中会用到的有:尺寸相关的盒子模型,普通流、浮动、相对定位三种永世机制,CSS3中的transform、弹性盒子模块、试验中的grid模块。逛园子的时候平日能够见到变化布局,inline-block布局,弹性盒布局那多少个名词。今后对布局也算有一点了然,做个计算加强一下。假诺您也看了好多质感,然而事实上入手时对布局照旧未能入手的话,希望本文能够帮您理清思路。

疑病症一句:看见二个功能图的时候,千万不要急先河贱去敲代码!先构思清楚页面包车型地铁社团,理清各要素之间的涉嫌,非常须求专心的是在分歧的装置下须要有何的表现,当您思路清楚找到最佳的布局方案时,coding其实真的无需多少日子。

云顶集团400800044,尺寸相关


为啥要先说尺寸呢?因为尺寸在布局中的功用充足大旨,布局格局固定这么些只是退换了成分之间的涉及,未有尺寸就如何亦不是。举个例子大家经常会用margin来决定跟其余因素的偏离,那正是布局。

无数人都会感觉,什么width、margin太简单了,早已通晓了。这种情怀笔者生机勃勃起始上学CSS的时候也是有,以为很好明白很简短,然则后边才开掘本人原本洋洋事物都没真正调节。看看张鑫旭大神给我们上的政治课:

先说说百分比,百分比是相持父对象的,那Ritter性相当好用,较多时候会用在自适应布局方面。浏览器尺寸的转移,正是根节点html的长宽改换,大家能够用%来将浏览器尺寸和要素尺寸联系起来,做到自适应。

除此以外一个比较有趣的是auto,auto是众多尺寸值的私下认可值,也正是由浏览器自动总结。首先是块级元素水平方向的auto,块级成分的margin、border、padding以致content宽度之和杰出父成分width。使用auto属性在父元素宽度变化的时候,该因素的大幅也会随之转移。

云顶娱乐平台注册 1

可是当该因素被设为浮动时,该因素的width就改成了内容的宽窄了,由内容撑开,也正是所谓的有了包裹性。overflow | position:absolute | float:left/right都得以生出包裹性,替换到分也同等有所包裹性。在有着包裹性的因素上想利用width : auto;来让要素宽度自适应浏览器宽是不行的。

云顶娱乐平台注册 2

可观方向:外边距重叠,外边距auto为0,这两点须求专一。书写方向什么的,接触超级少就不扯了。

那为何margin:auto对不能揣度垂直方向的值吗?十分轻巧,垂直方向是被规划成能够非常扩展的,内容越来越多浏览器便发出滚动条来扩充,所以垂直方向都找不到叁个划算原则,以此重返一个false,便成了0。

用处:经过width、height调控大小,各样方向的margin值调整与边界可能此外因素的偏离来定位。

浮动


当下PC网址多数使用float布局,从费用上思考大改的票房价值一点都不大,所以不用说变化无用,总是会有空子令你维护的!代表网址:Tmall、Tencent、百度,好吧BAT都到齐了。

变迁听得多了,新浪上关于用调换布局的牵线也不行的多。浮动原来用以文书环绕,但却在布局被使好的古板获得发展,这就是命!我的领悟:改动布局的骨干便是让要素脱离普通流,然后使用width/height,margin/padding将成分定位。脱离普通流的成分,好似脱离地心重力同样,与平时代时尚不在叁个可观上。这几个跟图层的概念相似。中度不等所以可以叠在其余因素上边发生重叠或然使用负边距跑到父成非凡,精晓了那或多或少变化布局就很好掌握了。

云顶娱乐平台注册 3

下边用个圣杯布局的例证表明豆蔻年华(Aptamil卡塔 尔(英语:State of Qatar)下,理解了那几个未来别的布局进一层简明:

left,宽度固定,高度可牢固也可由内容撑开

right,宽度固定,低度可一定也可由内容撑开

center,能够自适应浏览器宽度,中度可一定也可由内容撑开。

云顶娱乐平台注册,HTML & CSS:

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>宽度自适应布局</title> <style> .wrap { background-color: #D66464; } .clearfix:after { content: ""; clear: both; display: block; } .left { float: left; width: 100px; background: #00f; height: 180px; } .right { float: right; width: 150px; background: #0f0; height: 200px; } .center { background: #FFFFFF; margin-left: 110px; margin-right: 160px; height: 150px; } </style> </head> <body> <div class="wrap clearfix"> <div class="left">left,宽度固定,高度可一定也足以由内容撑开。</div> <div class="right">right,宽度固定,中度可一定也得以由内容撑开。</div> <div class="center">center,能够自适应浏览器宽度,中度可牢固也得以由内容撑开。</div> </div> </body> </html>

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
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>宽度自适应布局</title>
        <style>
            .wrap {
                background-color: #D66464;
            }
            .clearfix:after {
                content: "";
                clear: both;
                display: block;
            }
            .left {
                float: left;
                width: 100px;
                background: #00f;
                height: 180px;
            }
            .right {
                float: right;
                width: 150px;
                background: #0f0;
                height: 200px;
            }
            .center {
                background: #FFFFFF;
                margin-left: 110px;
                margin-right: 160px;
                height: 150px;
            }
        </style>
    </head>
    <body>
        <div class="wrap clearfix">
            <div class="left">left,宽度固定,高度可固定也可以由内容撑开。</div>
            <div class="right">right,宽度固定,高度可固定也可以由内容撑开。</div>
            <div class="center">center,可以自适应浏览器宽度,高度可固定也可以由内容撑开。</div>
        </div>
    </body>
</html>

原理非常轻松,左右右侧栏定宽并转移,中部内容区放最终不转换、私下认可width:auto并设置相应外边距,让左右左侧栏浮动到下边。注意:子成分设置为扭转之后,父对象的莫斯中国科学技术大学学就倒下了,须求安装父对象后的成分清除浮动,那样父对象的可观技艺被浮动子成分撑起来了。

本来,我们也要问一下,为什么父对象中度会坍塌呢?上面也说过了,浮动成分已经淡出了普通流,父对象所在的日常性流比喻成地球表面,那浮动成分就已经天神了。不过父对象还在地球表面啊,从外太空看变化成分在父对象里面,可是其实并不在,又怎么能撑开父对象啊?宽度如若我们不设置的话,其实也是为0的,因为父对象里面一问三不知,所以宽高为0。

云顶娱乐平台注册 4

要撑开的法子就三个,1是让父对象也真主(。。。你咋不皇天呢卡塔尔国,2是把变化成分的边框边界拉下来。

父对象也天神(即浮动卡塔 尔(英语:State of Qatar)的话,那就无法完成宽度自适应了。因为float成分的width:auto是包装内容的,参考前边说的!

措施2正是在后头的要素里加三个clear语句。谈到那一个难点就要扯到clear与BFC了,笔者就不献丑了。传送门:

本条三列布局还会有个双飞(是双飞翼!想什么啊卡塔 尔(阿拉伯语:قطر‎的变种,就是在HTML中center部分相当于内容区提到最前面,约等于内容先行渲染。在网络不佳的时候,左右机翼能或不可能出去无妨,先让宗旨内容出来!这种主见,分明的绝才干术员思维,但,尼玛的侧翼都以广告啊。广告不出来,哪能赚钱养你们那群程序员?所以建议双飞的玉伯才离开了天猫商城???(纯属意淫,如真属实,当自身闲扯,哈哈哈!卡塔 尔(阿拉伯语:قطر‎

云顶娱乐平台注册 5

先上码:

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>宽度自适应布局</title> <style> .wrap { background-color: #FBD570; margin-left: 100px; margin-right: 150px; } .clearfix:after { content: ""; clear: both; display: block; } .left { float: left; width: 100px; background: #00f; height: 180px; margin-left: calc(-100% - 100px); } .right { float: right; width: 150px; background: #0f0; height: 200px; margin-right: -150px; } .center { background: #B373DA; height: 150px; float: left; width: 百分百; } </style> </head> <body> <div class="wrap clearfix"> <div class="center">center,能够自适应浏览器宽度,中度可一定也能够由内容撑开。</div> <div class="left">left,宽度固定,中度可一定也能够由内容撑开</div> <div class="right">right,宽度固定,高度可牢固也足以由内容撑开</div> </div> </body> </html>

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
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>宽度自适应布局</title>
        <style>
            .wrap {
                background-color: #FBD570;
                margin-left: 100px;
                margin-right: 150px;
            }
            .clearfix:after {
                content: "";
                clear: both;
                display: block;
            }
            .left {
                float: left;
                width: 100px;
                background: #00f;
                height: 180px;
                margin-left: calc(-100% - 100px);
            }
            .right {
                float: right;
                width: 150px;
                background: #0f0;
                height: 200px;
                margin-right: -150px;
            }
            .center {
                background: #B373DA;
                height: 150px;
                float: left;
                width: 100%;
            }
        </style>
    </head>
    <body>
        <div class="wrap clearfix">
            <div class="center">center,可以自适应浏览器宽度,高度可固定也可以由内容撑开。</div>
            <div class="left">left,宽度固定,高度可固定也可以由内容撑开</div>
            <div class="right">right,宽度固定,高度可固定也可以由内容撑开</div>
        </div>
    </body>
</html>

思路:

1)既然HTML里面要让center放后边,为了让left跑到center前面,那center也非得更换了,否则因为都以块成分他们会分两行。

2)浮动之后还要让center宽度自适应,那肯定width只可以百分之百,然后在父成分中设width:auto,还应该有两侧margin,其实也便是父对象宽度自适应,center只是世袭content的宽窄。

3)对left使用负的margin让她们更换到上面去。

代码里面小编动用了三个calc(),这几个CSS3推动的总结函数简直酷毙了!本例里假如不行使calc函数,那么就供给wrap左侧距为0,left侧边距-百分百,然后center多加风流倜傥层子块DIV设置margin-left:100px,能够达到规定的标准同等的效用!calc函数与比例合营就能够完成自适应的必要!如今享有的自适应布局都在选择浏览器来为大家总括尺寸,不过有了calc之后我们就足以友善创设法则!单是构思都高潮了吧?

总结:利用浮动来进展布局,三个一点都不小的题目是歼灭浮动。这几个能够运用二个after伪类来撤废。更加大的难题是浮动性像水一样发展流动,难以把握。在要素超多並且元素高度尺寸不后生可畏的意况下,单纯运用浮动只好兑现上端对齐,那对于适应两种配备的布局就显得敬敏不谢了。最近的做法是就义局地剧情,将成分做成等高排列,从美貌上看也当然也是极好的,比犬牙相制的排列要赏心悦目。

常备流布局


日常性流布局:display : inline-block!那是二个故事中代替float布局的留存。看了某个网址,PC端浮动为主,移动端的也用的非常少啊,已经有一点使用flex的了,说好的inline-block一统江湖呢?

行使inline-block此前先拍卖点小障碍:inline-block成分会有4px左右的空当,那么些是因为我们写代码时候的换行符所致。

云顶娱乐平台注册 6

消除办法相当轻便:在inline-block的父成分中安装样式font-size:0;letter-spacing: -4px; 然后装置inline-block的全体兄弟成分 font-size:值;letter-spacing: 值px;  苏醒平常的体现。

云顶娱乐平台注册 7

除此以外还会有少数急需留意的是inline-block暗中同意是基线对齐的,而inline-block的基线又跟文本基线大器晚成致,所以在剧情各异的时候并不可能水平对齐。只要求用vertical-align显式声惠氏(WYETH卡塔 尔(英语:State of Qatar)(Dumex卡塔 尔(阿拉伯语:قطر‎下top/bottom/middle对齐就可以。这里补充一下基线的剧情,没你想的那么轻松哦。分有文字和无文字两种情景:

1卡塔尔国无文字:容器的margin-bottom上边缘。与容器内部的成分没一毛钱关系。

2卡塔尔有文字:最终风流倜傥行文字的上边缘,跟文字块(p,h等卡塔 尔(英语:State of Qatar)的margin、padding不妨!注意是最终黄金年代行,不随想字在什么子对象容器内在什么地点都不妨,浏览器会找到最一生龙活虎行文字对齐尾巴部分。

你们体会一下:

云顶娱乐平台注册 8    云顶娱乐平台注册 9    云顶娱乐平台注册 10

警告:inline-block的基线是终极黄金年代行文字的尾巴部分,flex里面包车型大巴基线是首先行文字的底层(请看下文阮老师的篇章卡塔 尔(阿拉伯语:قطر‎

云顶娱乐平台注册 11

满满的都以泪啊。。。既然都叫baseline,何苦呢?

云顶娱乐平台注册 12

采用inline-block举办圣杯布局:

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>宽度自适应布局</title> <style> .wrap { background-color: #FBD570; font-size: 0; letter-spacing: -4px; /*用于宽容safari,依照差别字体字号大概需求做料定的调节*/ margin-left: 100px; margin-right: 150px; } .wrap * { font-size: 1rem; letter-spacing: normal; } .left { display: inline-block; vertical-align: top; width: 100px; background: #00f; height: 180px; margin-left: -100px; } .right { display: inline-block; vertical-align: top; width: 150px; background: #0f0; height: 200px; margin-right: -150px; } .center { display: inline-block; vertical-align: top; background: #浅谈Hybrid技巧的铺排性与贯彻第三弹,是你不懂作者。B373DA; height: 150px; min-width: 150px; width: 百分之百; } </style> </head> <body> <div class="wrap"> <div class="left">left,宽度中度固定</div> <div class="center">center,能够自适应浏览器宽度,中度稳固。</div> <div class="right">right,宽度中度固定</div> </div> </body> </html>

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
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>宽度自适应布局</title>
        <style>
            .wrap {
                background-color: #FBD570;
                font-size: 0;
                letter-spacing: -4px;  /*用于兼容safari,根据不同字体字号或许需要做一定的调整*/
                margin-left: 100px;
                margin-right: 150px;
            }
            .wrap * {
                font-size: 1rem;
                letter-spacing: normal;
            }
            .left {
                display: inline-block;
                vertical-align: top;
                width: 100px;
                background: #00f;
                height: 180px;
                margin-left: -100px;
            }
            .right {
                display: inline-block;
                vertical-align: top;
                   width: 150px;
                background: #0f0;
                height: 200px;
                margin-right: -150px;
            }
            .center {
                display: inline-block;
                vertical-align: top;
                background: #B373DA;
                height: 150px;
                min-width: 150px;
                width: 100%;
            }
        </style>
    </head>
    <body>
        <div class="wrap">
            <div class="left">left,宽度高度固定</div>
            <div class="center">center,可以自适应浏览器宽度,高度固定。</div>
            <div class="right">right,宽度高度固定</div>
        </div>
    </body>
</html>

此处也没怎么好说的,用到的也是width:auto和width:百分百这两点,轻松知识点的简要用法。

双飞的话,代码跟圣杯的基本相近,注目的在于html的顺序变为center>right>left,只改左栏移动的margin-left: calc(-百分百 – 100px)到预定地方就可以。无法用calc的话能够在center里面再加大器晚成层,跟浮动相符的管理格局。更简明的不二等秘书籍是使用CSS3带来我们的box-sizing属性。请看代码:

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>宽度自适应布局</title> <style> .wrap { background-color: #FBD570; font-size: 0; letter-spacing: -4px; /*用于宽容safari,依据区别字体字号大概要求做显明的调治*/ margin-right: 150px; } .wrap * { font-size: 1rem; letter-spacing: normal; } .left { display: inline-block; vertical-align: top; width: 100px; background: #00f; height: 180px; margin-left: -100%; } .right { display: inline-block; vertical-align: top; width: 150px; background: #0f0; height: 200px; margin-right: -150px; } .center { display: inline-block; vertical-align: top; background: #B373DA; height: 150px; min-width: 150px; width: 100%; box-sizing: border-box; padding-left: 100px; background-origin: content-box; background-clip: content-box; } </style> </head> <body> <div class="wrap"> <div class="center"> center,能够自适应浏览器宽度,中度稳定。 </div> <div class="right">right,宽度中度固定</div> <div class="left">left,宽度高度固定</div> </div> </body> </html>

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
55
56
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>宽度自适应布局</title>
        <style>
            .wrap {
                background-color: #FBD570;
                font-size: 0;
                letter-spacing: -4px;  /*用于兼容safari,根据不同字体字号或许需要做一定的调整*/
                margin-right: 150px;
            }
            .wrap * {
                font-size: 1rem;
                letter-spacing: normal;
            }
            .left {
                display: inline-block;
                vertical-align: top;
                width: 100px;
                background: #00f;
                height: 180px;
                margin-left: -100%;
            }
            .right {
                display: inline-block;
                vertical-align: top;
                   width: 150px;
                background: #0f0;
                height: 200px;
                margin-right: -150px;
            }
            .center {
                display: inline-block;
                vertical-align: top;
                background: #B373DA;
                height: 150px;
                min-width: 150px;
                width: 100%;
                box-sizing: border-box;
                padding-left: 100px;
                background-origin: content-box;
                background-clip: content-box;
            }
        </style>
    </head>
    <body>
        <div class="wrap">
            <div class="center">
                center,可以自适应浏览器宽度,高度固定。
            </div>
            <div class="right">right,宽度高度固定</div>
            <div class="left">left,宽度高度固定</div>
        </div>
    </body>
</html>

总结:相比变化inline-block越发轻易精晓,也更相符大家的咀嚼,结合盒子模型的多少个调控属性就能够举办布局了。对于成分中度不等的气象,近来变动布局的做法都以将成分做成等高成分进行表现,那从美学上看也切合井井有序的要求,然而捐躯了风度翩翩局地内容。但inline-block有vertical-align属性,能够很好地清除元素高度不等而带来的布局难题。用过以后,你也会赏识上inline-block的。。。最少作者会!

相对定位


眼下的变迁和普通流中实际一定都以靠盒子模型调节的,与我们常说的一向依然有差别的。而相对定位正是我们日常所说的固化,给定参考坐标系+坐标显明地点。关于相对定位的素材太多,作者就隐瞒了。提一点正是absolute定位的标准是近年的非static定位父对象,而fixed是对立html根节点的固定。三种固定都会脱离普通流,跟从前说的退换同样,天公了。

云顶娱乐平台注册 13

自然,他们跟浮动在上空中之处还是有差别的,项目中有碰着这么些难题的请参照他事他说加以考察张大婶的稿子:   仍然要结合项目来看,否则看过也只是看过而已,并不会存到你的脑子里,终归照旧特别抽象格外理论性的事物。借用张大神的一个总括图:

云顶娱乐平台注册 14

运用绝对化定位(特指absolute卡塔 尔(英语:State of Qatar)做自适应布局前面面三种办法没太大差异,宽度自适应仍然在auto和百分之百上做小说,而地方则由top/bottom/left/right等调节。还是以圣杯布局来比喻:

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>宽度自适应布局</title> <style> .wrap { position: relative; background-color: #FBD570; margin-left: 100px; margin-right: 150px; height: 250px; } .left { position: absolute; top: 0; left: -100px; width: 100px; background: #00f; height: 180px; } .right { position: absolute; top: 0; right: 0; width: 150px; background: #0f0; height: 200px; margin-right: -150px; } .center { position: absolute; top: 0; left: 0; background: #B373DA; height: 150px; min-width: 150px; width: 百分之百; } </style> </head> <body> <div class="wrap"> <div class="center"> center,能够自适应浏览器宽度,中度牢固。 </div> <div class="left">left,宽度高度固定</div> <div class="right">right,宽度中度固定</div> </div> </body> </html>

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
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>宽度自适应布局</title>
        <style>
            .wrap {
                position: relative;
                background-color: #FBD570;
                margin-left: 100px;
                margin-right: 150px;
                height: 250px;
            }
            .left {
                position: absolute;
                top: 0;
                left: -100px;
                width: 100px;
                background: #00f;
                height: 180px;
            }
            .right {
                position: absolute;
                top: 0;
                right: 0;
                   width: 150px;
                background: #0f0;
                height: 200px;
                margin-right: -150px;
            }
            .center {
                position: absolute;
                top: 0;
                left: 0;
                background: #B373DA;
                height: 150px;
                min-width: 150px;
                width: 100%;
            }
        </style>
    </head>
    <body>
        <div class="wrap">
            <div class="center">
                center,可以自适应浏览器宽度,高度固定。
            </div>
            <div class="left">left,宽度高度固定</div>
            <div class="right">right,宽度高度固定</div>
        </div>
    </body>
</html>

父成分为relative,子成分为absolute,那样的话,又晤面世跟浮动一样的难题:父对象中度坍塌,子成分不可能撑起父对象。原因也跟浮动同样,消弭办法的话近期自个儿清楚的独有给父对象钦点贰个分明height值,我们只要有越来越好的方式,请联系本人!

总结:仅仅利用相对化定位进行自适应布局的情事少之甚少,日常相对定位都用在尺寸牢固的成分定位上。並且fixed定位的渲染功效超低,因为它会一再触发浏览器的重排。此外提一点:CSS3的transform会对相对定位爆发震慑啊~举个例子说让fixed定位不再固定在浏览器视窗的黑法力:

弹性盒子


CSS3中对布局影响最大的其实弹性盒子模块了,那是风度翩翩套不同于现在盒子模型布局的崭新方案。上面三种艺术您可以看出,为了完结自适应大家用的都以width:auto和百分之百的嵌套以至种种边距的活动定位,那套法规并不相符大家的咀嚼。为何不可能开采出一块区域,横竖排列都得以,内部装有因素的尺码能够听从二个规行矩步和那些区域的尺寸关系起来?终于CSS3做出了转移,引进了flex弹性布局方案,弹性盒布局有如下优势:
1.单身的冲天调节与对齐。
2.独自的因素顺序。
3.点名成分之间的关联。
4.灵活的尺码与对齐形式。

在MDN上有非常轻易易懂的根底教程:

云顶娱乐平台注册 15

地点也曾经交由了圣杯布局的自适应布局方案,所以代码就不贴理解则这一个例子达成的是3栏成比例缩放,左右栏假若要求固定值的话可以写成  flex: 0 0 150px; 的体裁。

只是地点的科目未有付诸各类属性的详实表达,建议看看阮风姿浪漫峰的博文,详细易懂并且配图比超漂亮的有木有:

总括:弹性盒子在移动端的应用会进一层宽广,这套模型值得去美貌斟酌。语准则则都以可怜临近人性,特别灵活,浏览器包容性也相当好,当然国内发达的移动浏览器会有怎么着南生围呢?大家静观其变~

其他


别的包含position:relative和CSS3中的transform都能够兑现稳固,不过由于他们在原来的普通流中还占着三个坑,所以超少用来布局啥的。transform是个相当帅炫的事物,可以用平面包车型大巴资料做出过多3D的成效,何况无需js就能够做,非常风趣。此文已经很短,就非常少说了,现在会写生龙活虎篇小说来极其说说她的轶事。

 

2 赞 24 收藏 评论

云顶娱乐平台注册 16

离线更新

据说以前的预订,Native中豆蔻年华经存在静态能源,也是按频道划分的:

JavaScript

webapp //根目录 ├─flight ├─hotel //饭店频道 │ │ index.html //业务入口html财富,借使不是单页应用会有四个输入 │ │ main.js //业务全部js财富打包 │ │ │ └─static //静态样式资源 │ ├─css │ ├─hybrid //存款和储蓄业务定制化类Native Header图标 │ └─images ├─libs │ libs.js //框架全数js财富打包 │ └─static //框架静态财富样式文件 ├─css └─images

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
webapp //根目录
├─flight
├─hotel //酒店频道
│  │  index.html //业务入口html资源,如果不是单页应用会有多个入口
│  │  main.js //业务所有js资源打包
│  │
│  └─static //静态样式资源
│      ├─css
│      ├─hybrid //存储业务定制化类Native Header图标
│      └─images
├─libs
│      libs.js //框架所有js资源打包
└─static //框架静态资源样式文件
    ├─css
    └─images

笔者们这里拟定三个准则,native会过滤某贰个法规的伏乞,检查本地是不是有该文件,若是地点有那么就一向读取本地,例如说,我们会将那几个类其他乞请映射到地面:

JavaScript

//===>> file ===> flight/static/hybrid/icon-search.png

1
2
3
http://domain.com/webapp/flight/static/hybrid/icon-search.png
//===>>
file ===> flight/static/hybrid/icon-search.png

那般在浏览器中便三番五次读取线上文件,在native中,若是有地方财富,便读取当地能源:

云顶娱乐平台注册 17

可是大家在真实使用景况中却碰着了大器晚成都部队分难为。

负margin-right法

原理是经过负margin-right将white-space字符收入盒子后方,而margin-right的属性值需求依附font-size来调控,必需恰好等于字形宽度的负数,不然会冒出成分重叠的主题材料。(IE5.5/6/7不相配那耍法)

关于小编:risker

云顶娱乐平台注册 18

2016年学院结业,以往在京城某互连网公司从事前端开拓的行事,近八个月第意气风发做活动web开垦。新浪观众太少,求粉。 个人主页 · 小编的文章 · 7 ·   

云顶娱乐平台注册 19

maximum-scale

在移动端,你可能会虚构顾客浏览不便,然后赋予顾客推广页面的职责,但还要又希望是在确定节制内的放手,这时候就足以应用maximum-scale来扩充约束。

maximum-scale用以钦定顾客能够加大的比重。

举个例证来说:

XHTML

<meta name="viewport" content="initial-scale=1,maximum-scale=5" />

1
<meta name="viewport" content="initial-scale=1,maximum-scale=5" />

尽管页面包车型大巴默许缩放值initial-scale1,那么顾客最后能够将页面放大到那些起先页面大小的5倍。

回落更新

大家在hybrid中的跳转,事实上每一次都以新开叁个webview,当A->B的时候,事实上A只是被隐形了,当B点击再次回到的时候,便一向将A显示了出去,而A不会做其他更新,对后边二个来说是无感知的。

骨子里,这一个是风流罗曼蒂克种优化,为了化解这种难题我们做了八个下拉刷新的表征:

JavaScript

_.requestHybrid({ tagname: 'headerrefresh', param: { //下拉时候显得的文案 title: '123' }, //下拉后施行的回调,强暴点就总体刷新 callback: function(data) { location.reload(); } });

1
2
3
4
5
6
7
8
9
10
11
_.requestHybrid({
    tagname: 'headerrefresh',
    param: {
         //下拉时候展示的文案
         title: '123'
     },
     //下拉后执行的回调,强暴点就全部刷新
     callback: function(data) {
         location.reload();
     }
});

但,这几个总未有活动刷新来的安适,于是我们在页面第一次加载的时候约定了这么些事件:

JavaScript

// 注册页面加载事件 _.requestHybrid({ tagname: 'onwebviewshow', callback: function () { } }); // 注册页面影藏事件 _.requestHybrid({ tagname: 'onwebviewhide', callback: function () { scope.loopFlag = false; clearTimeout(scope.t); } });

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// 注册页面加载事件
  _.requestHybrid({
      tagname: 'onwebviewshow',
      callback: function () {
        
      }
  });
// 注册页面影藏事件
_.requestHybrid({
     tagname: 'onwebviewhide',
     callback: function () {
         scope.loopFlag = false;
         clearTimeout(scope.t);
     }
});

在webview突显的时候接触,和在webview遮盖的时候接触,那样顾客便足以做活动数据刷新了,可是有的刷新要完毕怎么样程度就要看支出的时刻安插了,技巧好时间多自然体验好。

引入HTML预编译

引入如Jade等HTML模板引擎,开辟和护卫时利用可读性可维护性越来越高的言语,而浏览器运营时则动用作用更佳但可读性差以致非人类本人的编码,然后经过如sourcemap来做映射。

但若唯有为竭泽而渔本文的主题材料而引进HTML模板引擎,是或不是小题大造了吧?

监听Genymotion

别忘了,使用查理的初志是让我们得以用本地的公文替换线上文件,不用每一回修正都要颁发。

  1. 在Genymotion中,SettinsNetwork (port选9999是因为自个儿前边在Charles中设置的是9999) :云顶娱乐平台注册 20
  2. 在拉开的模拟器中,设置WLAN长按2秒修改网络代理设置改为手动,主机名称叫10.0.3.2,端口为9999,和地方一样。
  3. 然后在模拟器中张开webview页面就足以看来全数须求了云顶娱乐平台注册 21
  4. 右键保存源文件到地面,然后增添意气风发行alert代码 。云顶娱乐平台注册 22云顶娱乐平台注册 23
  5. 在呼吁上右键,选拔 Map Local云顶娱乐平台注册 24
  6. 慎选刚刚改良过的文件
  7. 再一次载入页面 :云顶娱乐平台注册 25

如此,大家利用模拟器+Chrome+Charles就能够完备起来、调节和测量检验webview页面了,模拟器当作手提式有线电话机,Chrome insepct 调样式、接口、查看数据,利用Charles炫目当半夏件向来查看效果。

至于iOS上的webview调试,模拟器+Safari+Charles有道是也是完全一样的。小编没有试过,试过的人请告诉。

ideal viewport

小编们还亟需叁个视口,它就疑似于布局视口,但幅度和视觉视口相像,那便是完美视口(ideal viewport卡塔 尔(阿拉伯语:قطر‎。

有了全面视口,顾客不用缩放和拖动网页就能够很好的张开网页浏览。而全面视口也是透过viewport meta的某种设置来达到。

说了那般一大堆的东西,貌似都和viewport有关联,那么viewport毕竟怎么搞,请继续往下。

关于3个视口,PPK后生可畏度做了非凡棒的演说,你也能够在StackOverflow上找到一些对此描述的交互作用补充,比方:[1], [2],有野趣的童鞋也能够看看

注入cookie

前面贰个比较通用的权柄标识照旧用cookie做的,所以Hybrid比较成熟的方案仍然为流入cookie,这里的三个前提便是native&H5有意气风发套统生机勃勃的账号连串(统风姿浪漫的权杖校验系统卡塔尔。

因为H5使用的webview能够有独立的登陆态,固然不加限定太过混乱难以维护,举个例子:

大家在qq浏览器中开垦驴阿妈的网站,马蜂窝站内第三方登入能够挑起qq,然后登陆成功;完了qq浏览器本来也可以有二个登入态,发掘却不曾登陆,点击风流倜傥键报到的时候重新挑起了qq登入。

理所必然,qq作为三个浏览器容器,不应有关爱工作的报到,他这样做是没难点的,可是大家友好的多少个H5子应用如若登陆了的话,便仰望将以此登入态同步到native,这里就算native去监督cookie的改动就太复杂了,通用的方案是:

Hybrid 应用软件中,全部的登陆走Native提供的登入框

1
Hybrid APP中,所有的登录走Native提供的登录框

老是张开webview native便将近日登陆音信写入cookie中,因从前端就具备登陆态了,登陆框的唤起在接口处统黄金年代管理:

JavaScript

/* 无论成功与否皆会关闭登陆框 参数包罗: success 登陆成功的回调 error 登陆战败的回调 url 若无设置success,可能success推行后不曾回来true,则暗许跳往此url */ HybridUI.Login = function (opts) { }; //=> requestHybrid({ tagname: 'login', param: { success: function () { }, error: function () { }, url: '...' } }); //与登入接口风姿浪漫致,参数豆蔻年华致 HybridUI.logout = function () { };

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/*
无论成功与否皆会关闭登录框
参数包括:
success 登录成功的回调
error 登录失败的回调
url 如果没有设置success,或者success执行后没有返回true,则默认跳往此url
*/
HybridUI.Login = function (opts) {
};
//=>
requestHybrid({
     tagname: 'login',
     param: {
         success: function () { },
         error: function () { },
         url: '...'
     }
});
//与登录接口一致,参数一致
HybridUI.logout = function () {
};

总结

原来display:inline-block受委屈的如此多年,今后究竟沉冤得雪了!都怪CSS2未有特意的布局模块,逼得大家东挪西借地拼页面。所幸的是CSS3专设了Flexbox/Grid/Multi-columns Layout Modules,大家能够寄望越来越美观好的以往了!

Charles / Fiddler

幸好有Charles与此相类似的工具(Windows下请使用Fiddler),Charles会在地点开启叁个代理服务,暗中认可接口8888。通过那一个代理,模拟器上的伏乞会被改动来计算机上,大家得以随性所欲地去替换须要文件让我们更加的方便地调试页面。

viewport特性

日常状态下,viewport有以下6种设置。当然厂家也许会扩大一些一定的装置,比方iOS Safari7.1扩充了意气风发种在网页加载时掩瞒地址栏与导航栏的设置:minimal-ui,不过随后又将之移除了。

Name Value Description
width 正整数或device-width 定义视口的宽度,单位为像素
height 正整数或device-height 定义视口的高度,单位为像素
initial-scale [0.0-10.0] 定义初始缩放值
minimum-scale [0.0-10.0] 定义缩小最小比例,它必须小于或等于maximum-scale设置
maximum-scale [0.0-10.0] 定义放大最大比例,它必须大于或等于minimum-scale设置
user-scalable yes/no 定义是否允许用户手动缩放页面,默认值yes

账号系列

诚如的话,二个商厦的账号种类康健灵活程度会一点都不小程度反映出这一个研发集团的全体实力:

① 统一的鉴权认证

② 短信服务图形验证码的拍卖

③ 子系统的权杖设计、公共的顾客音信导出

④ 第三方接入方案

⑤ 接入文书档案输出

⑥ ……

以此建设方案,有未有是一次事(表明没合计卡塔尔国,有几套是二回事(表明相比较乱,技艺不联合卡塔 尔(英语:State of Qatar),对外的生机勃勃套做到了怎么水平又是三次事,当然那些不是大家商量的爱戴,而账号体系也是Hybrid设计中要求的后生可畏环。

账号种类涉及了接口权限决定、财富访问调控,今后有豆蔻梢头种方案是,前端代码不做接口鉴权,账号一块的劳作总体松手native端。

后起之秀超越前辈——CSS2.1陈述中的inline-block

相对IE自定义的inline-block,CSS2.1引进的inline-block就好精晓多了,它做了两件事:

  1. 将成分变性为inline-level element;
  2. 让要素发生新的BFC。

成立最舒畅的 webview 调节和测验情状

2015/11/11 · CSS · 4 评论

本文小编: 伯乐在线 - risker 。未经小编许可,禁绝转发!
应接加入伯乐在线 专辑编辑者。

你在做运动web开采的时候是还是不是只是在Chrome下展开移动格局,然后就啪啪啪闷头敲代码了?假若您通常只是做做宣传页,Chrome的活动情势或许就能够满意你。然而现在更是多的选择使用Hybrid的开荒方式,那样的话就大概在web页面上调用webview注入的函数,那么,那么些页面在Chrome上只会报错,因为我们不在webview里,根本未有流入的那多少个函数。

以小编后天做的品类为例,要在页面里判别在顾客端有未有记名,能够这么写:

JavaScript

var isLogin = AndroidWebview.hasLogin() ;

1
2
var isLogin = AndroidWebview.hasLogin() ;
 

结果总之,AndroidWebview是客户端在webview里注入的方法,这里当然会报错了。

云顶娱乐平台注册 26

width

width被用来定义layout viewport的拉长率,要是不点名该属性(也许移除viewport meta标签),则layout viewport宽度为厂家默许值。如:黑莓为980px

举个例证:

XHTML

<meta name="viewport" content="width=device-width" />

1
<meta name="viewport" content="width=device-width" />

此时的layout viewport将成为ideal viewport,因为layout viewport步长与设施视觉视口宽度大器晚成致了。

除了width之外,还应该有叁特性质定义也能达成ideal viewport,那就是initial-scale

推动感悟

从品种调查研商到花色一败涂地再到近日部分的优化,已经花了半年时间了,要做好豆蔻梢头件事是不便于的,何况大家以此还关系到不断优化,和配套专门的学问举个例子:

① passport

② 钱袋职业

③ 反馈职业

…..

等意气风发并营造,比超多专业的意思,或然作用,是非技术同事看不到的,不过借使咱们不坚韧不拔做下来,迫于业务压力依然本人麻痹放纵,那么就什么也未曾了,我们要带动风流洒脱件事情,非常小概一站出来就说,嘿,小样,大家这些正确,你拿去用呢,那样人家会存疑你的,我们自然是要先做一定demo让人有早晚起首影象,再强制大概私自再某四个生育工作试用,一方面将才干重视弄进去,一方面要告诉其余同事,看看嘛,也从没引起多大标题嘛,呵呵。

职业难,拉动难,难在持铁杵成针,难在搀扶共进,这里面是索要信念的,在那进一层感谢团队3个同伴的无私付出(杨杨、文文、文文卡塔尔。

持续,我们在持续推动hybrid建设的同临时候,会尝试React Native,找寻更加好的更合乎自个儿的减轻方案。

1 赞 收藏 评论

云顶娱乐平台注册 27

White space collapsing的玩法

宽容性难点又来了,因为各浏览器的落到实处均不尽雷同。

XHTML

<style type="text/css"> span{background:#F60;} </style> <div><span> before</span></div> <div><span> before</span></div> <div><span>after </span></div> <div><span>after </span></div> <div><span>after </span></div> <div><span>one two</span></div> <div><span>one two</span></div> <div><span> </span></div>

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
<style type="text/css">
  span{background:#F60;}
</style>
<div><span>
 
before</span></div>
<div><span>
 
before</span></div>
<div><span>after
 
</span></div>
<div><span>after
 
</span></div>
<div><span>after
</span></div>
<div><span>one
two</span></div>
<div><span>one
two</span></div>
<div><span> &#x000C;
</span></div>

** chrome43 **

  1. 对此初阶标签与第一个non-white-space字符间的white-space字符串,以carriage return( )作为white-space归拢单元的初叶符,最终保留各合併单元的联合结果。
  2. 甘休标签与最后二个non-white-space字符间的white-space字符串,以carriage return( )用作white-space合併单元的利落符,最终保留各合併单元的联结结果。
  3. 词义单元间的white-space字符串,以carriage return( )用作white-space归拢单元的分界符,最终保留各归总单元的联结结果。
  4. 标签内仅富含white-space字符串,那么这几个white-space字符串将被忽略。

云顶娱乐平台注册 28
** FF5.0 **

  1. 对此初叶标签与第二个non-white-space字符间和结束标签与最终一个non-white-space字符间的white-space字符串将被忽视。
  2. 词义单元间的white-space字符串,以carriage return( )作为white-space合併单元的分界符,最终保留各归拢单元的统风流罗曼蒂克结果。
  3. 标签内仅蕴含white-space字符串,那么这一个white-space字符串将被忽略。

云顶娱乐平台注册 29
** IE8+ **

  1. 对此起先标签与第贰个non-white-space字符间和了结标签与最终多少个non-white-space字符间的white-space字符串将被忽视。
  2. 词义单元间的white-space字符串,合併为1个(ASCII space)字符。
  3. 标签内仅包罗white-space字符串,那么那些white-space字符串将被忽略。

云顶娱乐平台注册 30

** IE5.5/6/7 **

  1. 对于最早标签与第叁个non-white-space字符间的white-space字符串将被忽略。
  2. 终结标签与最后一个non-white-space字符间的white-space字符串,归拢为1个(ASCII space)字符。
  3. 词义单元间的white-space字符串,合併为1个(ASCII space)字符。
  4. 标签内仅蕴涵white-space字符串,那么那么些white-space字符串将被忽视。

云顶娱乐平台注册 31
统风流浪漫单元:合併单元包涵0到N个white-space字符串,最后合併为0到1个white-space字符
SGML描述B.3.1 Line breaks

specifies that a line break immediately following a start tag must be ignored, as must a line break immediately before an end tag. This applies to all HTML elements without exception.

XHTML

<A>My favorite Website</A> <A> My favorite Website </A>

1
2
3
4
<A>My favorite Website</A>
<A>
My favorite Website
</A>

一孔之见翻译法:标签与正文间的line breaks要被忽略掉!也正是内外几种HTML格式的渲染效果应该大器晚成致。实际上除了IE5.5/6/7外别的浏览器均遵从之黄金时代规定的。恐怕你会说地点的实行不是早就阐明chrome43不坚决守护那个准则吗?其实

XHTML

<A> My favorite Website </A>

1
2
3
<A>
My favorite Website
</A>

HTML格式等价于<A>#x000A;My favorite Website#x000A;</A>而不是<A>#x000D;#x000A;My favorite Website#x000D;#x000A;</A>。以后我们都知情了啊:)

绕到这里自身想我们皆有一点点晕了,到底那些跟难点2有吗关系吗?先不用忧虑嘛,大家先记住两点:

  1. IE5.5/6/7中”停止标签与终极一个non-white-space字符间的white-space字符串,合併为1个(ASCII space)字符”;
  2. IE5.5/6/7中仅字符(串)可以看做词义单元,而IE8+中inline-level element也充作词义单元。
XHTML

&lt;span class="bk1 item"&gt;&lt;/span&gt; &lt;span class="bk2
item"&gt;&lt;/span&gt; &lt;br/&gt;&lt;br/&gt; &lt;span class="bk1
item"&gt;bk1&lt;/span&gt; &lt;span class="bk2 item"&gt;&lt;/span&gt;

<table>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<tbody>
<tr class="odd">
<td><div class="crayon-nums-content" style="font-size: 13px !important; line-height: 15px !important;">
<div class="crayon-num" data-line="crayon-5b8f6d17e73c7306787940-1">
1
</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5b8f6d17e73c7306787940-2">
2
</div>
<div class="crayon-num" data-line="crayon-5b8f6d17e73c7306787940-3">
3
</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5b8f6d17e73c7306787940-4">
4
</div>
<div class="crayon-num" data-line="crayon-5b8f6d17e73c7306787940-5">
5
</div>
</div></td>
<td><div class="crayon-pre" style="font-size: 13px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">
<div id="crayon-5b8f6d17e73c7306787940-1" class="crayon-line">
&lt;span class=&quot;bk1 item&quot;&gt;&lt;/span&gt;
</div>
<div id="crayon-5b8f6d17e73c7306787940-2" class="crayon-line crayon-striped-line">
&lt;span class=&quot;bk2 item&quot;&gt;&lt;/span&gt;
</div>
<div id="crayon-5b8f6d17e73c7306787940-3" class="crayon-line">
&lt;br/&gt;&lt;br/&gt;
</div>
<div id="crayon-5b8f6d17e73c7306787940-4" class="crayon-line crayon-striped-line">
&lt;span class=&quot;bk1 item&quot;&gt;bk1&lt;/span&gt;
</div>
<div id="crayon-5b8f6d17e73c7306787940-5" class="crayon-line">
&lt;span class=&quot;bk2 item&quot;&gt;&lt;/span&gt;
</div>
</div></td>
</tr>
</tbody>
</table>


IE5.5/6/7下等价于  


XHTML

&lt;span&gt; &lt;/span&gt; &lt;br/&gt;&lt;br/&gt; &lt;span&gt;bk1
&lt;/span&gt;

<table>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<tbody>
<tr class="odd">
<td><div class="crayon-nums-content" style="font-size: 13px !important; line-height: 15px !important;">
<div class="crayon-num" data-line="crayon-5b8f6d17e73ca280682483-1">
1
</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5b8f6d17e73ca280682483-2">
2
</div>
<div class="crayon-num" data-line="crayon-5b8f6d17e73ca280682483-3">
3
</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5b8f6d17e73ca280682483-4">
4
</div>
<div class="crayon-num" data-line="crayon-5b8f6d17e73ca280682483-5">
5
</div>
</div></td>
<td><div class="crayon-pre" style="font-size: 13px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">
<div id="crayon-5b8f6d17e73ca280682483-1" class="crayon-line">
&lt;span&gt;
</div>
<div id="crayon-5b8f6d17e73ca280682483-2" class="crayon-line crayon-striped-line">
&lt;/span&gt;
</div>
<div id="crayon-5b8f6d17e73ca280682483-3" class="crayon-line">
&lt;br/&gt;&lt;br/&gt;
</div>
<div id="crayon-5b8f6d17e73ca280682483-4" class="crayon-line crayon-striped-line">
&lt;span&gt;bk1
</div>
<div id="crayon-5b8f6d17e73ca280682483-5" class="crayon-line">
&lt;/span&gt;
</div>
</div></td>
</tr>
</tbody>
</table>


对比一下上面的规则,空隙自然就有了。  
IE8+下等价于  


XHTML

&lt;span&gt;&nbsp; &nbsp;&lt;/span&gt; &lt;br/&gt;&lt;br/&gt;
&lt;span&gt;&nbsp; &nbsp;&lt;/span&gt;

<table>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<tbody>
<tr class="odd">
<td><div class="crayon-nums-content" style="font-size: 13px !important; line-height: 15px !important;">
<div class="crayon-num" data-line="crayon-5b8f6d17e73cd347104087-1">
1
</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5b8f6d17e73cd347104087-2">
2
</div>
<div class="crayon-num" data-line="crayon-5b8f6d17e73cd347104087-3">
3
</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5b8f6d17e73cd347104087-4">
4
</div>
<div class="crayon-num" data-line="crayon-5b8f6d17e73cd347104087-5">
5
</div>
</div></td>
<td><div class="crayon-pre" style="font-size: 13px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">
<div id="crayon-5b8f6d17e73cd347104087-1" class="crayon-line">
&lt;span&gt;&amp;nbsp;
</div>
<div id="crayon-5b8f6d17e73cd347104087-2" class="crayon-line crayon-striped-line">
&amp;nbsp;&lt;/span&gt;
</div>
<div id="crayon-5b8f6d17e73cd347104087-3" class="crayon-line">
&lt;br/&gt;&lt;br/&gt;
</div>
<div id="crayon-5b8f6d17e73cd347104087-4" class="crayon-line crayon-striped-line">
&lt;span&gt;&amp;nbsp;
</div>
<div id="crayon-5b8f6d17e73cd347104087-5" class="crayon-line">
&amp;nbsp;&lt;/span&gt;
</div>
</div></td>
</tr>
</tbody>
</table>


inline-level
element整体作为词义单元,从外部看根本不用管里面具体字符串是什么。

本文由云顶集团400800044发布于云顶集团400800044,转载请注明出处:浅谈Hybrid技巧的铺排性与贯彻第三弹,是你不懂

关键词:

上一篇:没有了

下一篇:没有了