Blogger Information
Blog 7
fans 0
comment 0
visits 6314
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
html前端部分知识-2019年9月4日20时
huomou的博客
Original
718 people have browsed it

问题一:实例演示如何消除子元素浮动造成父元素高度折叠的影响

答:在父元素中添加“overflow:hidden”即可消除子元素浮动对父元素高度折叠的影响

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>消除子元素浮动对父元素高度折叠的影响实例</title>
<style>
.one{
     width:300px;
     border:2px dashed red;
	 /*使用overflow来消除子元素浮动对父元素高度折叠的影响*/
	 overflow:hidden;
}

.two {
     width:inherit;
     height:296px;
	 float:left;
	 background:pink;
}
</style>
</head>
<body>
<div class="one">
<div class="two">子元素</div>
</div>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

问题二:实例演示三列布局的实现原理( 绝对定位实现, 浮动定位实现)

答:

  1. 绝对定位实现三列布局

    jddw.jpg

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>利用绝对定位实现3列布局</title>
    <style>
    .header{
         width:100%;
         height:60px;
    	 text-align:center;
    	 line-height:60px;
    	 font-size:12px;
    	 background:gray;
    	 margin-bottom:5px;
    }
    
    .nav{
         width:100%;
         height:30px;
    	 text-align:center;
    	 line-height:30px;
    	 font-size:12px;
    	 background:pink;
    	 margin-bottom:5px;
    }
    
    .main{
         width:100%;
    	 position:relative;
    	 margin-bottom:5px;
    }
    
    .left {
         width:30%;
    	 height:300px;
    	 background:lightgreen;
    	 text-align:center;
    	 line-height:300px;
    }
    
    .content {
         width:50%;
    	 height:300px;
    	 background:lightblue;
    	 text-align:center;
    	 line-height:300px;
    }
    
    .right {
         width:20%;
    	 height:300px;
    	 background:lightgreen;
    	 text-align:center;
    	 line-height:300px;
    }
    
    /*绝对定位实现三列排序*/
    
    .left {
         position:absolute;
    	 left:0;
    	 top:0;
    }
    
    .right {
         position:absolute;
    	 left:80%;
    	 top:0;
    }
    
    .content {
         margin-left:30%;
    	 margin-right:20%;
    }
    
    .footer{
         width:100%;
         height:60px;
    	 text-align:center;
    	 line-height:60px;
    	 font-size:12px;
    	 background:gray;
    }
    </style>
    </head>
    <body>
    <div class="header">头部</div>
    <div class="nav">导航</div>
    <div class="main">
        <div class="left">左侧</div>
        <div class="content">内容</div>
        <div class="right">右侧</div>
    </div>
    <div class="footer">底部</div>
    </div>
    </body>
    </html>

    运行实例 »
  2. 浮动定位实现三列布局

    fddw.jpg

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>利用浮动实现3列布局</title>
    <style>
    .header{
         width:100%;
         height:60px;
    	 text-align:center;
    	 line-height:60px;
    	 font-size:12px;
    	 background:gray;
    	 margin-bottom:5px;
    }
    
    .nav{
         width:100%;
         height:30px;
    	 text-align:center;
    	 line-height:30px;
    	 font-size:12px;
    	 background:pink;
    	 margin-bottom:5px;
    }
    
    .main{
         width:100%;
    	 position:relative;
    	 margin-bottom:5px;
    	 overflow:hidden;
    }
    
    .left {
         width:30%;
    	 height:300px;
    	 background:lightgreen;
    	 text-align:center;
    	 line-height:300px;
    }
    
    .content {
         width:40%;
    	 height:300px;
    	 background:lightblue;
    	 text-align:center;
    	 line-height:300px;
    }
    
    .right {
         width:30%;
    	 height:300px;
    	 background:lightgreen;
    	 text-align:center;
    	 line-height:300px;
    }
    
    /*利用浮动实现三列排序*/
    
    .left {
         float:left;
    }
    
    .right {
         
         float:right;
    }
    
    .content {
         float:left;
    }
    
    .footer{
         width:100%;
         height:60px;
    	 text-align:center;
    	 line-height:60px;
    	 font-size:12px;
    	 background:gray;
    }
    </style>
    </head>
    <body>
    <div class="header">头部</div>
    <div class="nav">导航</div>
    <div class="main">
        <div class="left">左侧30%</div>
        <div class="content">内容40%</div>
        <div class="right">右侧30%</div>
    </div>
    <div class="footer">底部</div>
    </div>
    </body>
    </html>

    运行实例 »

    点击 "运行实例" 按钮查看在线实例

总结:

  1. 如果要消除子元素浮动造成父元素高度折叠的影响,方法很简单,只要在父元素里加上“overflow:hidden”,即可。

  2. 利用绝对定位实现3列布局时,首先对父元素设置一个relative定位,然后根据对左右两侧分别使用absolute定位,最后对中间列用margin属性挤出即可。

  3. 利用浮动实现3列布局时,首先对父元素设置一个“overflow:hidden”,以消除子元素浮动对父元素高度折叠的影响,然后左右两侧分别设置float:left;float:right,中间列则不管是用哪种float都可以。

Correction status:qualified

Teacher's comments:今晚还会继续细说布局
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post