欢迎来到优知文库! | 帮助中心 分享价值,成长自我!
优知文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 优知文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    margin的布局.docx

    • 资源ID:1398944       资源大小:27.78KB        全文页数:12页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录
    二维码
    扫码关注公众号登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    margin的布局.docx

    margin系列之布局篇发20211231分类ICSS14条评论前端工程师对CSS的根本诉求布局实力或许是Wm前端工程师时CSS的最根本的诉求,当开场进入到这个岗位,就防止不了要和CSS打交道,而和CSS交往,布局当然是不行或缺的,很缺憾的是,CSS2之前都没仃出现真正意义上的布局网性,直至现如今的6SS3,才开场出现了一些,如:Flex,grid等,不过其兼容性及国内阅读器的运用状况,我令人捉急。不过,有需求就会有变通,对于达成布局目的,已衍生出各种各样的方法,如:float,inline-block,table,absolute等等。margin的布局之道其实,这个话题有点脱禹Marg源的实力范围,因为单纯的margin并无法完成困难布局,它更多做的是协助,但却又难以替代。经典左右构造两栏构造应当是破常见和经典的网页呈现之一吧?如下图-:HeaderFooterctasssiclayout*)信任对于这样一个网页呈现,你不会生疏。那么你有多少种方案可以达成该布同?我想,4至5种应当是保守估计吧?这次,我们只看KtargM是如何做的。absolute+margin方式HTM1.<keaderd="PuZ">头部<heaHer><diVfd="bd">aside汝HWHe">侧边栏固定宽以<0Cde><div以="*¼4in”>由内容行自适应宽度<div><div><footerid-"ft">底部<footer>CSS#aside(position:abiolutc;top。;th.O,Width:2OOpx;产tvwuMtnarg<n-(eft:21Opx;如上关键代码,我们即可实现图一布局,该布局有个特点就是,#MaM可以自适应可用空间。假定HTM1.是给定的,我们来解读一下CSS代码:我们知道块级元素的特性之一是换新行,也就是说,假如想让和#起加在同行显示,我们要么变更其显示屈性为Mine-Icvd(HP之前说的泊“八e-引。Ck布局方式),要么变更其流方式(absolute,H。此HeXandetc.).如上述代码,我们运用了麻。位“即让"as以了脱离常规流,通过肯定定位到想要的位苴。主内容栏自适应宽度同时你会发觉,我们并有变更#MaM的显示属性或Aift方式,也就是说其仍Ill具备块级元素的特性,所以它会自动适应剩余宽度,即我们常说的自适应宽度。我们并不希望nain区域会包含#aSide在内,丁是利用nargin给,什aside'预留出足够其显示的空间,即可达成我们所耍的布同0可能你会问为什么是Margi八-IeftWpx而不是20。PX,实际的确应当是200”、多出来的XOpx只是为了创立个列间隙,与布局实现无关。来看看详细的实现DEM。*w,argiabsolute布局:左栏固定主内容自适应就这样,是不是很简洁?其实它还有亮点,那就是:随意调整列依次在不修改HTM1.的状况下,只需简洁的修改CSS,我们即可让左右两栏的依次调换,来看代码:CSS#asideposition:absolute;top。;right:。;Widtk:2OOpx;margin-Hght:22Opx;)其实现照理没变,同样看看PEMO2:argiabsolute布局:右栏固定主内容自适应主内容优先显示可以更C。/一点,你觉得呢?许多时候,你或许会考虑到,不管在何种状况卜;总想保证主要的内容优先于次要的内容呈现给用户,那么,怎么做?很简洁,只须要将主要内容的HTM1.排在次婴内容的HTM1.之前即可,因为它是依次加载渲染的。我们可以这样:HTM1.<keW"id=54">头部<keWer><divid="bd"><d2id="min">主内容栏自适应宽度<d2>wideid-"aide">边栏冏定宽度<aiide><div><footerid'jft">底部<footer'>是的,我们只须要将Wn的HTM1.挪到asidc的HTM1.前面,令人兴奋的是,变更HTM1.之后,CSS不须要做任何变更。我们来看DEMo3:targim-absolute布局:左栏固定主内容自适应,主内容仃限显示当然,调正列依次的DEM。4:ar3iabiolute布局:右栏固定主内容自适应,主内容有限显示也同样简洁,我们只须要写HTM1.时留意一卜即U1.致命缺陷列举了absolute.MargM布局的许多优点,但只说个问感.就足以让你在是否选用这种方式时深思效虑,是什么呢?我们知道absolute是定位流,脱离正常排版,也就是说肯定定位元素不影响其上下文的排版方式,你意识到我想说什么/么?OK,用代码来演示:HTM1.(heaHer/="山">头部法aHer><div%="6d">(d2id="nain">主内容栏自适应宽度<div>aside以="as以e”>到边栏固定宽度,我的内容可能比土内容多,高度比主内容栏高<aiide><.div><fooUfM="Ft">底部<fboter>看完代码,估计你猜到了。足的,easMe无法撑开父元素的高度,它聘会溢出父元素区域,结果如下列图:classsiclayout(图二)来看看这缺陷所导致的状况demos:MaKgM+absolute布局的致命缺陷此时假设你设置父元素。“用。w:h,Nde八那么溢出局都将会被裁减,同样不符介布局意图,无法可破。所以在内容量不行控的场景,不举荐运用这种方式。float+margin方式和absolute+margin方式一样,float+margin方式一样是经典的利用来布局的方案,并且被更广泛运用。我们仍旧以图一为例,来看代码:HTM1.<heaHer汝=""d">头部<KeHer><div,d="bd">asideid=""s以e">则边栏固定宽度<4s/e><divid=,'ainn>主内容栏自适应宽度<div><div'><fOOteriduft">底部/footerCSSasidc(float:left;widtk.2OOp×FVuIrgi八-Ieftt21px;如上述代码,我们运用了f(ot,即从图文环绕形态演化而来。当#OSide定义float.那么紧随其后的元宏将会环绕在其四周。不过环绕并不是我们想要的结果,我们想要的是#4也自成封闭矩形,所以利用margin留出足够#4SHe显示的空间,中断环绕即可。当然,此时#从也是自适应宽度的,来看详细实例DEM06:argiftoat布局:左栏固定主内容自适应它是否也具备可随意调整列依次的特点?何不试?CSS#asideftoat.right;widtk2.OOp)margin-Hght:22Opx;)看过DEMo7:Marg心+。亡布局:右栏固定主内容自适应,你会发觉,是的,这种方式也支持随意调整列依次,很棒。从这种趋势看来,貌似友城+%。4心的方式会成为黑马,不过缺憾的告知你,这种方式无法支持主内容优先显示。但我们有更Cool的解决方案。float+负margin方式接下来我要说的大家可能都猜到r,对,经典的圣杯布局.至于圣杯的名字由来,大家可以自行6。9他,这里不做赘述。恩,HTM1.当然是运用主内容优先显示的那种:HTM1.<keader=%d">头部<heder><Wivid="bd">“2d="fvuu>,>主内容出自适应宽度<div>asideid-'aiide''>侧边栏固定宽改<aside><div><footerid-"ft'>底部<footer>CSSbdpadding-Ieft:2工Opx;float:left;PoSition:rdative;lift:-21Opx;Widtk:2OOPx;targiix-left:-1OO%;float:left;Widtk:28%;如上代码,既是圣林布局的核心Code,假如你看懂了,你会发觉,这其实很荷洁,不是么?简洁说明下上面的CSSCode,首先我们是在做个左侧固定宽度,右侧自适的宽度的布局。我们说过要让块级元素在同行显示的条件:变更显示方式,变更流方式,这里我们选择了运用“。派来将#Main和#aside变成浮动流。OK,这时我们具备#Ma泊和#oSi戏能在同行显示的前置条件。我们知道,浮动元素其宽度假如没有显式定义,那么由其内容确定。正好,我as也是定宽的,所以显示给它定义W以dv20Op,但此时“Ma,八该怎么办?不设置width不对,因为宽度将被内容左右,设置W以故:工。也不对,因为这样的话,就没有#aSide的立足之地了,正碑的应当是wi4tk:CHC(18%-2OOp×).不是么?惋惜,这是新特性,只好作罢。变通?是的,有的时候略微换个思路,你会觉得豁然开朗。#MHn不是要自适应吗?那就绐它个cm,怎么做?我们在包含块M中就将持Bde的宽度刨除,宽度全部都给酢他。恩,我们只须要这样#b,3adding-TeftNiopx?(NOPX仍旧是用来做间隙的),这时#3M就可以设置widtklO&Z了,由于设置了padding,所以已在左边预留出了块宽23PX的区域.此时的问题在于假如将#aside挪到这个地方,你想对了,我们是在聊负Marnn布局,自然须要利用上。idc(argi-left:-1OO这样可以了吗?很明显,这样还不行,此时"aside和#MaM的起始位置将会重合囚为计aside的vargin-left计算值是相对包含块来计算的,而此时包含块的宽度等于#出小八的宽度。如何让"aside再向左偏移2Spx?明显Margin是不行了.因为我们已经用掉它了。假如你看过之前的文章的话,你可能还记得,有一篇文章讲出argM系列之与相对偏移的异同。恩,是的,这时我们可以借助相对偏移。向左偏移2:1.oPX是件很荷洁的事:MsideipodtioNrelativcJefti-ZIOpx至此,你的布局OK了,这就是圣林的实现方式。来看已实现好的例如DEMOS:圣杯:左栏固定主内容自适应当然,圣杯布局必需可以随意调整列依次,要不,怎么能说是更COOf些的方案呢?CSS#bdpadding-right21Opx;*side(floatleft;poiition:retative;right121Opx;Width:2QOPx;Margin-left:2OOp;float:left;Widtk:28%;1这个就干脆看例如好了,不再一一说明代码DEMo。:圣杯:右栏固定主内容自适应所以圣杯布局具符前两种方式共同的优点,同时没有他们的缺乏,但圣杯本身也有些问题,在任6/7下报废,不过不用慌,因为它可被修更。你想到方法了吗?

    注意事项

    本文(margin的布局.docx)为本站会员(王**)主动上传,优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知优知文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 yzwku网站版权所有

    经营许可证编号:宁ICP备2022001189号-2

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知优知文库网,我们立即给予删除!

    收起
    展开