CSSの2つの欄、3つの欄の適応レイアウトについて簡単に話します

10810 ワード

1、左側固定幅、右側適応
方法1:左側にfloat:left、右側にmargin-leftを左側の幅に設定します. 
注意:右側にfloat:leftは設定できません.
    
    
        
            
        
        
        

方法二:左侧设置float:left,右侧设置overflow:hidden。

利用的是创建一个新的BFC(块级格式化上下文)来防止文字环绕的原理来实现的。BFC就是一个相对独立的布局环境,它内部元素的布局不受外面布局的影响。

  
  
      
          
      
      
        

方法三:左侧设置绝对定位,右侧设置margin-left为左边的宽度。

  
  
      
          
      
      
        

方法四:父元素设置display:flex,右侧设置flex:1。

    
    
        
            
        
        
        

2、右侧固定宽度,左侧自适应

方法一:左侧设置margin-right为右侧的宽度,右侧设置float: right。  



	
		
	
	
		

注意:right要放在left的前面,否则会出现right右浮动后内容换行下移的问题。出现该问题的原因是非float的元素和float的元素在一起时,如果非float的元素在先,那么float的元素将被排斥到下一行。由于right是float的元素,而left是非float的元素,为避免right内容换行下移,需要把right放在left的前面。

方法二:左侧设置margin-right为右侧的宽度,右侧采用绝对定位,根据所需的右侧div与浏览器窗口的顶端和右边的距离分别设置top和right。



	
		
	
	
		

此时left和right的位置前后无关紧要。

注意:由于body默认有margin,对绝对定位的right设置top:0和right:0会导致左右侧之间有缝隙且不等高,为此,可统一设置body的margin为0。

方法三:左侧设置width为100%,float: left,margin-right为右侧的宽度的负值,右侧设置float: right。  

  
  
      
          
      
       
        

方法四:父元素设置display:flex,左侧设置flex:1。

      
      
          
              
          
          
        


2、左右固定宽度,中间自适应

方法一:左侧设置float:left,右侧设置float:right,中间设置margin-right为右侧的宽度,margin-left为左侧的宽度。



	
		
	
	
		

:right middle , right 。 float float , float , float 。 right float , middle float , right , right middle 。 :http://blog.csdn.net/zhouziyu2011/article/details/53857095 margin-rightmargin-left , , div left top leftdiv top right
このときmiddleとrightの の は ではありません.
:bodyはデフォルトでmarginがあるため、 めのleftにtop:0とleft:0を し、rightにtop:0とright:0を すると と の に があり、 さが しくないため、bodyのmarginを0に に することができます.
3: display:flex、 flex:1.