两列布局中单列定宽单列自适应布局的5种思路-创新互联

思路一: float

说起两列布局,最常见的就是使用float来实现。float浮动布局的缺点是浮动后会造成文本环绕等效果,以及需要及时清除浮动。如果各浮动元素的高度不同时,可能会出犬牙交错的效果

在东城等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站制作、成都网站设计、外贸营销网站建设 网站设计制作按需设计网站,公司网站建设,企业网站建设,品牌网站建设,营销型网站建设,成都外贸网站制作,东城网站建设费用合理。

【1】float + margin

将定宽的一列使用float,而自适应的一列使用计算后的margin

两列布局中单列定宽单列自适应布局的5种思路

两列布局中单列定宽单列自适应布局的5种思路

两列布局中单列定宽单列自适应布局的5种思路


    
        

left

    
             

right

        

right

    

两列布局中单列定宽单列自适应布局的5种思路

[缺点1]IE6-浏览器下3像素bug,具体表现在右侧首行文字会向右偏移3px。解决办法是在left元素上设置margin-right: -100px

[缺点2]当右侧容器中有元素清除浮动时,会使该元素不与左侧浮动元素同行,从而出现文字下沉现象

【2】float + margin + (fix)

(fix)代表增加结构,为了解决上述方法中的两个缺点,可以通过增加结构来实现。自适应的一列外侧增加一层结构.rightWrap并设置浮动。要实现自适应效果,.rightWrap宽度必须设置为100%。若不设置,float后的元素宽度将由内容撑开。同时再配合盒模型属性的计算,设置计算后的负margin值,使两列元素在同一行显示。同时两列之间的间距由.right的margin值确定。由于右侧元素会层叠在左侧元素之上,.left需要使用relative来提升层级

两列布局中单列定宽单列自适应布局的5种思路

两列布局中单列定宽单列自适应布局的5种思路

两列布局中单列定宽单列自适应布局的5种思路


    
        

left

    
                          

right

            

right

                     

两列布局中单列定宽单列自适应布局的5种思路

【3】float + margin + calc

除了增加结构的方法外,还可以使用calc()

[注意]IE8-、android4.3-、IOS5.1-不支持,android4.4+只支持加减运算

两列布局中单列定宽单列自适应布局的5种思路

两列布局中单列定宽单列自适应布局的5种思路

两列布局中单列定宽单列自适应布局的5种思路


    
        

left

                  

right

        

right

    

两列布局中单列定宽单列自适应布局的5种思路

【4】float + overflow

还可以使用overflow属性来触发bfc,来阻止浮动造成的文字环绕效果。由于使用overflow不会改变元素的宽度属性,所以不需要重新设置宽度。由于设置overflow:hidden并不会触发IE6-浏览器的haslayout属性,所以需要设置zoom:1来兼容IE6-浏览器

两列布局中单列定宽单列自适应布局的5种思路

两列布局中单列定宽单列自适应布局的5种思路

两列布局中单列定宽单列自适应布局的5种思路


    
        

left

                  

right

        

right

    

两列布局中单列定宽单列自适应布局的5种思路

思路2: inline-block

inline-block内联块布局的主要缺点是需要设置垂直对齐方式vertical-align,则需要处理换行符解析成空格的间隙问题。IE7-浏览器不支持给块级元素设置inline-block属性,兼容代码是display:inline;zoom:1;

【1】inline-block + margin + calc

一般来说,要解决inline-block元素之间的间隙问题,要在父级设置font-size为0,然后在子元素中将font-size设置为默认大小

[注意]IE8-、android4.3-、IOS5.1-不支持,android4.4+只支持加减运算

两列布局中单列定宽单列自适应布局的5种思路

两列布局中单列定宽单列自适应布局的5种思路

两列布局中单列定宽单列自适应布局的5种思路


    
        

left

                  

right

        

right

    

两列布局中单列定宽单列自适应布局的5种思路

【2】inline-block + margin + (fix)

两列布局中单列定宽单列自适应布局的5种思路

两列布局中单列定宽单列自适应布局的5种思路

两列布局中单列定宽单列自适应布局的5种思路


    
        

left

                               

right

            

right

                     

两列布局中单列定宽单列自适应布局的5种思路

思路3: table

使用table布局的缺点是元素被设置为table后,内容撑开宽度,所以需要设置width:100%。若要兼容IE7-浏览器,需要改为

结构。由于table-cell元素无法设置margin,若需要在元素间设置间距,需要增加结构

两列布局中单列定宽单列自适应布局的5种思路

两列布局中单列定宽单列自适应布局的5种思路

两列布局中单列定宽单列自适应布局的5种思路


    
        

left

                               

right

            

right

                         

两列布局中单列定宽单列自适应布局的5种思路

思路4: absolute

absolute布局的缺点是由于父元素需要设置为relative,且子元素设置为absolute,所以父元素的高度并不是由子元素撑开的,需要单独设置。

[注意]IE6-不支持相对的偏移属性同时设置

两列布局中单列定宽单列自适应布局的5种思路

两列布局中单列定宽单列自适应布局的5种思路

两列布局中单列定宽单列自适应布局的5种思路


    
        

left

                  

right

        

right

            

两列布局中单列定宽单列自适应布局的5种思路

思路5: flex

flex弹性盒模型是非常强大的布局方式。但由于其性能消耗较大,适合于局部小范围的布局

[注意]IE9-不支持

两列布局中单列定宽单列自适应布局的5种思路

两列布局中单列定宽单列自适应布局的5种思路

两列布局中单列定宽单列自适应布局的5种思路


    
        

left

                  

right

        

right

            

两列布局中单列定宽单列自适应布局的5种思路

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文题目:两列布局中单列定宽单列自适应布局的5种思路-创新互联
链接地址:http://ybzwz.com/article/jcpgp.html