Reputation: 15
When I resize my browser I get the sidebar under the content and that looks fine but the text in p tags doesen't resize properly. Should I somehow target the p elements also? Here's the code:
HTML
<div id="wrapper">
<div id="header">
<h1>Header</h1>
</div>
<div id="menu">
<nav>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">Gallery</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
</div>
<div id="content">
<p>"Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?"</p>
</div>
<div id="sidebar">
<p>"Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?"</p>
</div>
<div id="footer">
Copyright © 2016
</div>
CSS
@media screen and (max-width: 480px) {
#menu {
display: none;
}
#sidebar {
width: 100%;
}
#content {
width:100%;
}
}
Main CSS
body {
background-color: grey;
}
#wrapper {
width: 960px;
height: 0 auto;
margin: 0 auto;
background-color: #27ae60;
}
#header h1 {
background-color: #c0392b;
text-align: center;
color: #fff;
}
#content {
width: 600px;
height: 500px;
background-color: #e67e22;
float: left;
}
#sidebar {
width: 360px;
height: 500px;
background-color: #34495e;
float: right;
}
#footer {
clear: both;
height: 30px;
background-color: #e74c3c;
padding-left: 50px;
padding-top: 20px;
}
p {
color: #fff;
text-align: left;
padding: 20px;
}
Upvotes: 1
Views: 49
Reputation: 67799
Look at this rule in your main CSS:
#wrapper {
width: 960px;
[...]
}
The wrapper is 960 px wide. There is no rule for #wrapper
in the media queries, so it will remain 960px wide on small screens. #content
is 100% wide on small screens, so that's also 960px (since #content
is inside #wrapper
), And the same for the <p>
tags inside #content
: They will always be 100% = 960px wide.
The solution: Insert a rule for #wrapper
for small screens(i.e. in your media queries), giving it also width: 100%;
Upvotes: 1