为什么我能够在about-middle里用overflow清除浮动,但是在banner里不行?
来源:4-3 项目作业
Z_ZG
2020-05-15 06:29:29
*{ padding: 0; margin:0; font-family: Microsoft YaHei UI; } .header{ background-color: #07cbc9; width: 100%; overflow: hidden; height: 54px; position: fixed; top: 0px; z-index:500; } .header-menu{ float: right; margin-right: 100px; } .header-menu ul li{ float: left; list-style: none; padding:15px; text-align: center; /*background-color: black;*/ } .header-menu ul li:hover{ background-color: black; } .header-menu ul li a{ text-decoration: none; color: white; } .header-logo{ float: left; margin-left: 100px; } .banner{ width:100%; margin-top: 54px; overflow: hidden; } .banner-mask{ height: 800px; background-color: black; opacity: 0.4; z-index: 200; position: absolute; width: 100%; /*display: none;*/ } .banner-img{ z-index: 100; position: absolute; width:100%; } .banner-img img{ width:100%; height: 800px; display: block; } .banner-form{ position: absolute; z-index: 300; text-align: center; left: 50%; margin-left: -252px; top: 50%; margin-top: -142px; } .banner-form input{ background-color: transparent; width: 500px; margin-bottom: 10px; padding: 5px; } .banner-form textarea{ background-color:transparent; width: 500px; margin-bottom: 10px; padding:5px; } .banner-form button{ background-color:transparent; color: white; padding:5px; } .banner-form input:hover{ border-color: #07cbc9; } .banner-form textarea:hover{ border-color: #07cbc9; } .banner-form button:hover{ border-style: none; background-color: #07cbc9; } .about-top{ text-align: center; width: 600px; margin: auto; font-size: 20px; } .about-top-line{ background-color: #07cbc9; display: block; width: 40px; height: 2px; margin: 15px auto; } .about-middle{ position: relative; overflow: hidden; } .about-middle-left{ position: absolute; width: 400px; } .about-middle-right{ position: absolute; } .about-middle-middle{ float: left; } .clear{ clear: both; }
<!DOCTYPE html> <html> <head> <title></title> <link rel="stylesheet" type="text/css" href="css/demo.css"> <script type="text/javascript" src="js/demo.js"></script> </head> <body> <div class="header"> <div class="header-logo"> <a href="#"><img src="images/logo.png"></a> </div> <div class="header-menu"> <ul> <li><a href="#">HOME</a></li> <li><a href="#">ABOUT</a></li> <li><a href="#">GALLERY</a></li> <li><a href="#">FACULTY</a></li> <li><a href="#">EVENTS</a></li> <li><a href="#">CONTACT</a></li> </ul> </div> </div> <div class="banner"> <div class="banner-mask"> </div> <div class="banner-img"> <img src="images/banner3.jpg"> </div> <div class="banner-form"> <form> <input type="text" name="" placeholder="your Name"><br> <input type="text" name="" placeholder="your Phone"><br> <input type="text" name="" placeholder="your Email"><br> <textarea placeholder="Write Your Comment Here" rows="5"></textarea><br> <button>SEND MESSAGE</button> </form> </div> </div> <div class="about"> <div class="about-top"> <h1>ABOUT</h1> <label class="about-top-line"></label> <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p> </div> <div class="about-middle"> <div class="about-middle-left"> <h4>A WORD ABOUT US</h4> <div class="about-middle-left-content"> <p>Praesent dignissim viverra est,sed bibendum ligula congue non.Sed ac nislet felis gravida commodo?Suspendisse eget ullamcorpet ipsum.Suspendisse diam amet</p> <button>EXPLORE</button> </div> </div> <div class="about-middle-middle"> <img src="images/bb3.jpg"> </div> <div class="about-middle-right"> <div class="about-middle-right-first"> <p class="first">7000</p> <label class="about-middle-right-first-line"></label> <p class="second">Students</p> </div> <div class="about-middle-right-second"> <p class="first">600</p> <label class="about-middle-right-second-line"></label> <p class="second">Faculty</p> </div> </div> </div> <div class="about-bottom"></div> </div> <div class="gallery"> </div> <div class="footer"> </div> </body> </html>
2回答
同学你好,如果父标签中使用了overflow:hidden;时,子标签中元素的position设置成relative的时候,父元素的overflow对其是不起作用的,需要将父标签的position也设置成relative,所以同学在banner中加上:position: relative;就可以了
祝学习愉快
好帮手慕阿园
2020-05-15
同学你好,当父元素的高度是靠子元素撑开的时候,子元素浮动时,则在父元素使用overflow: hidden可以清除浮动,使得父元素的高度依旧是靠子元素撑开。而同学banner中的子元素中并没有浮动,所以就没有效果
祝学习愉快
相似问题