问题#1 → 这是代码笔链接→Click Here。 当我使用id =" pagewrap"
将页脚放出主div时 <footer>
<h4>Footer</h4>
<p>Footer text</p>
</footer>
</div><!-- end-of-pagewrap -->
如果我这样做→
</div><!-- end-of-pagewrap -->
<footer>
<h4>Footer</h4>
<p>Footer text</p>
</footer>
它像这样被打破→https://www.screencast.com/t/VXRFGVa30
问题#2→ 我更关心讨论。
<div id="pagewrap">
#pagewrap {
padding: 15px;
max-width: 1400px;
margin: 20px auto;
}
但是,如果我将其更改为类系统,填充或边框将消失。出了什么问题? CSS是一样的吗?
<div class="pagewrap">
.pagewrap {
padding: 15px;
max-width: 1400px;
margin: 20px auto;
}
答案 0 :(得分:1)
这是因为float
的子元素上的pagewrap
属性,.clearfix
上使用pagewrap
。
对于问题2 ,您只需将所有pagewrap
选择器从ID
更新为Class
.clearfix:after {
visibility: hidden;
display: block;
font-size: 0;
content: " ";
clear: both;
height: 0;
}
@import url(http://fonts.googleapis.com/css?family=Open+Sans);
body {
font-family: 'Open Sans', sans-serif;
color: #666;
}
/* STRUCTURE */
#pagewrap {
padding: 15px;
max-width: 1400px;
margin: 20px auto;
}
header {
height: 100px;
padding: 0 15px;
}
#content {
width: 66%;
float: left;
padding: 5px 15px;
}
#sidebar {
width: 28%;
padding: 5px 15px;
float: right;
}
footer {
clear: both;
padding: 0 15px;
}
/************************************************************************************
MEDIA QUERIES
*************************************************************************************/
/* for 980px or less */
@media screen and (max-width: 980px) {
#pagewrap {
width: 94%;
}
#content {
width: 91.5%;
padding: 1% 4%;
float: left;
}
#sidebar {
clear: both;
padding: 1% 4%;
width: auto;
float: right;
}
header,
footer {
padding: 1% 4%;
}
}
/* for 700px or less */
@media screen and (max-width: 600px) {
#content {
width: auto;
float: none;
}
#sidebar {
width: auto;
float: none;
}
}
/* for 480px or less */
@media screen and (max-width: 480px) {
header {
height: auto;
}
h1 {
font-size: 2em;
}
#sidebar {
display: none;
}
}
#content {
background: #f8f8f8;
}
#sidebar {
background: #f0efef;
}
header,
#content,
#middle,
#sidebar {
margin-bottom: 5px;
}
#pagewrap,
header,
#content,
#middle,
#sidebar,
footer {
border: solid 1px #ccc;
}
.clearfix:after {
visibility: hidden;
display: block;
font-size: 0;
content: " ";
clear: both;
height: 0;
}
<div id="pagewrap" class="clearfix">
<header>
<h1>2 Column Responsive Layout</h1>
</header>
<section id="content">
<h2>1st Content Area</h2>
<p>This page demonstrates a 2 column responsive layout, complete with responsive images and jquery slideshow.</p>
</section>
<aside id="sidebar">
<h2>2nd Content Area</h2>
<p>Eodem modo typi, qui nunc nobis videntur parum clari, fiant sollemnes in futurum.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</p>
<p>Eodem modo typi, qui nunc nobis videntur parum clari, fiant sollemnes in futurum.</p>
</aside>
<!-- <footer>
<h4>Footer</h4>
<p>Footer text</p>
</footer> -->
</div>
<!-- end-of-pagewrap -->
<footer>
<h4>Footer</h4>
<p>Footer text</p>
</footer>
答案 1 :(得分:0)
当Abhishek为你排除了你的Q#2时,你在CSS文件的不同部分为你忘记编辑的#pagewrap定义了样式。这就是为什么当你改为班级系统时,一些风格会消失。
答案 2 :(得分:0)
答案 3 :(得分:0)
当父容器中的元素浮动时,父容器忽略它们的高度。要解决这个问题,最基本的方法是使用带有clear的空div:浮动elemets之后的父容器内的两个属性。更简洁的方法是使用clearfix
您已使用clear:页脚上的两个属性,但只有在内 pagewrap 时才会清除浮点数(父级容器)作为外部 pagewrap ,页脚不再是其子元素。
对于第二个问题,只需将所有 #pagewrap 更新为 .pagewrap