zoukankan      html  css  js  c++  java
  • 关于布局和结构

    关于布局和结构

    背景色满屏,固定宽度内容居中

    .header>.inner-center
    .banner>.inner-center
    .container>.inner-center
    .footer>.inner-center
    
    // css
    .inner-center{
    	 1200px;
    	margin-left: auto;
    	margin-right: auto;
    }
    

    边栏固定宽度,内容栏流体

    overflow:hidden

    因为overflow本身也可能会产生bug,所以不建议大范围的布局,适合用于小区块结构,且超过区域范围没有内容显示(overflow:hidden)

    .inner-center
    	.aside
    	.content
    
    // css
    .aside{
    	float: left/right;
    	 300px;
    }
    .content{
    	overflow: hidden;
    }
    

    负margin

    目前来说,该方案是最好的,不过就是需要多嵌套一层结构
    原理: 实际上还是两个浮动元素 一个宽度是100% 另一个浮动元素为了还是在同一行使用负margin
    而真正的浮动内容则在这个浮动的100%的容器中

    http://jsbin.com/yededu/1

    .inner-center
    	.content > .content-inner
    	.aside
    
    // css
    .content{
    	float: left;
    	 100%;
    }
    .content-inner{
    	margin-right: 300px;
    }
    .aside{
    	float: left;
    	 300px;
    	margin-left: -300px;
    }
    

    position:absolute

    这个相对来说比较简单,一般用于小结构

    .inner-center
    	.content
    	.aside
    
    // css
    .inner-center{
    	position: relative;
    	padding-right: 300px;
    	box-sizing: border-box;
    }
    .aside{
    	position: absolute;
    	top: 0;
    	right: 0;
    }
    

    直接margin

    大概适用于左边单行的情况下,因为如果右边内容比较复杂出现clear:both情况就会掉下去

    
        .aside{
            float: left;
            200px;
            background-color: pink;
        }
        .content{
            margin-left: 200px;
            background-color: wheat;
        }
        .clear{
            clear: both;
        }
    

    结构

    <div class="inner-center">
        <div class="aside">
            <div class="placeholder">
                <p>sss</p>
                <p>sss</p>
                <p>sss</p>
                <p>sss</p>
            </div>
        </div>
        <div class="content clear">
            如果定宽的content使用了clear both 就会破坏布局
            <div class="placeholder">
                <p>sss</p>
                <p>sss</p>
            </div>
        </div>
    </div>
    

    flex 暂时不可用,不说

    响应式布局

    简单来说响应式布局分为两种:一种是图片比较多的我们一般采用固定宽度断点的方法如爱奇艺;一种是文字流的我们一般采用边栏国定内容流体的方法如w3cplus

    固定宽度断点法

    html代码如下:

    .innner-center
    	.content
    	.aside
    

    css代码如下:

    .inner-center{
    	 980px;
    	margin-left: auto;
    	margin-right: auto;
    }
    .content{
    	float: left;
    	 720px;
    	margin-right: 20px;
    }
    .aside{
    	float: left;
    	 240px;
    }
    
    // <= 980px 时inner-center距离左右为20px
    @media only screen and (max- 980px){
    	.inner-center{
    		 auto;
    		margin-left: 20px;
    		margin-right: 20px; 
    	}
    	.content{
    		 100%;
    		margin-right: 0;
    	}
    	.aside{
    		display: none;
    	}
    }
    
    // >= 1200px 时inner-center为1200px
    @media only screen and (min- 1200px){
    	.inner-center{
    		 1200px;
    	}
    	.content{
    		 880px;
    	}
    	.aside{
    		 300px;
    	}
    }
    

    流体内容断点法

    html代码如下:

    .innner-center
    	.content>.content-inner
    	.aside
    

    css代码如下:

    .inner-center{
    	margin-left: 20px;
    	margin-right: 20px;
    }
    .content{
    	float: left;
    	 100%;
    }
    .content-inner{
    	margin-right: 320px;
    }
    .aside{
    	float: left;
    	 300px;
    	margin-left: -300px;
    }
    
    // <= 768px 右边栏不显示
    @media only screen and (max- 768px){
    	.content-inner{
    		margin-right: 0;
    	}		
    	.aside{
    		display: none;
    	}
    }
    // <= 1024px 右边栏宽度为240px
    @media only screen and (max- 1023px){
    	.content-inner{
    		margin-right: 260px;
    	}		
    	.aside{
    		 240px;
    		margin-left: -240px;
    	}
    }
    // >= 1241px 最大宽度为1200px
    @media only screen and (min- 1241px){
    	.inner-center{
    		 1200px;
    		margin-left: auto;
    		margin-right: auto;
    	}
    }
    

    media screen & media only screen
    http://stackoverflow.com/questions/8549529/what-is-the-difference-between-screen-and-only-screen-in-media-queries

  • 相关阅读:
    第9课
    FreeRTOS 定时器组
    FMC—扩展外部 SDRAM
    FreeRTOS 事件标志组
    第8课
    FreeRTOS 系统时钟节拍和时间管理
    第七课 线性表的顺序存储结构
    手把手教你调试Linux C++ 代码(一步到位包含静态库和动态库调试)
    Windows GUI代码与Windows消息问题调试利器
    谈谈数据挖掘和机器学习
  • 原文地址:https://www.cnblogs.com/cart55free99/p/4630632.html
Copyright © 2011-2022 走看看