Null Spark Null Spark - 6 months ago 27
CSS Question

Why does my layout collapse to the left on mobile devices?

Something really odd happens when I scale my website down to a mobile device. Everything but the images seems to be forced to the left, and can't cover the whole width. Why is this happening? / How can I fix it?\



* {
margin: 0;
padding: 0;
}

.entry-header {
display: none;
}

body {
overflow-x: hidden;
width: 100%;
}

:root {
background: #fff;
}

#logo {
display: block;
margin: auto;
width: 200px;
text-align: center;
}

nav ul {
display: flex;
justify-content: space-around;
list-style: none;
background: #38b449;
color: #fff;
font-size: 1.5rem;
font-family: 'Segoe UI', sans-serif;
}

li.selected {
color: #f05a2a;
}

nav ul li:hover {
color: springgreen;
cursor: pointer;
}

nav ul li.selected:hover {
color: #f07a2a;
}

main * {
margin: 20px auto;
}

#btns {
display: flex;
justify-content: space-around;
flex-direction: row;
}

#btns input {
width: 30%;
display: block;
padding: 10px;
background: springgreen;
border: none;
border-radius: 10px;
color: #fff;
font-size: 1.3rem;
font-weight: bold;
font-family: 'Verdana';
}

#btns input:hover {
background: #f05a2a;
cursor: pointer;
}

main p {
text-align: center;
max-width: 80%;
font-size: 1.5rem;
font-family: 'Segoe UI';
}

main {
width:100%;
}

main p:nth-of-type(4) {
font-weight: bold;
}

main hr {
width: 100%;
background: #0a0;
height: 1px;
}

.img-c {
width: 40%;
background-color: #000;
max-width: 200px;
min-width: 50px;
}

.container {
display: flex;
justify-content: space-between;
width: 200%;
}

main div {
display: flex;
justify-content: space-between;
}

main > div {
justify-content: flex-end;
width: 100%;
margin: auto;
}

@media screen and (max-width: 416px) {
.img-c {
width: 40%;
}

main > div {
display: flex;
flex-direction: column;
align-items: center;
}
}

@media screen and (max-width: 358px) {
nav ul {
flex-direction: column;
padding: 0;
}

nav ul li {
width: 100%;
text-align: center;
}

nav ul li:nth-child(2n) {
background: #0c0;
}
}

.entry-footer {
background: #efe;
}

article {
width:100%;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html lang="en-US" class="no-js gr__computerimmersion_com"><head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
<link rel="profile" href="http://gmpg.org/xfn/11">
<link rel="pingback" href="http://www.computerimmersion.com/beta/xmlrpc.php">
<link rel="stylesheet" href="http://computerimmersion.com/beta/wp-content/themes/twentyfifteen/style.css">
<!--[if lt IE 9]>
<script src="http://www.computerimmersion.com/beta/wp-content/themes/twentyfifteen/js/html5.js"></script>
<![endif]-->

</head>
<body class="page page-id-165 page-template-default" data-gr-c-s-loaded="true">

<article id="post-165" class="post-165 page type-page status-publish hentry">

<header class="entry-header">
<h1 class="entry-title">beta-main</h1> </header><!-- .entry-header -->

<div class="entry-content">
<header>
<img src="http://www.computerimmersion.com/wp-content/uploads/2015/10/CompImmer_logo_final_web4.png" id="logo" alt="logo"><p></p>
<nav>
<ul>
<li class="selected">Home</li>
<li>About</li>
<li>Classes</li>
<li>Jobs</li>
</ul>
</nav>
</header>
<p></p><main><p></p>
<div id="btns">
<input type="button" id="open-contact" value="Contact"><br>
<input type="button" id="open-player" value="Media">
</div>
<div>
<div class="container">
<img src="http://www.computerimmersion.com/wp-content/uploads/2015/10/2.jpg" alt="img" class="img-c" style="height: 200px;"><br>
<img src="http://www.computerimmersion.com/wp-content/uploads/2015/10/5.jpg" alt="img" class="img-c" style="height: 200px; background: magenta;">
</div>
<div class="container">
<img src="http://www.computerimmersion.com/wp-content/uploads/2015/10/1.jpg" alt="img" class="img-c" style="height: 200px;"><br>
<img src="http://www.computerimmersion.com/wp-content/uploads/2015/10/4.jpg" alt="img" class="img-c" style="height: 200px; background: magenta;">
</div>
<p></p></div>
<p>Are you looking for computer classes that go beyond the typical summer camp or one-day experience?</p>
<p>Does your child have an interest in coding or computer hardware and want to learn what to do next?</p>
<p>Computer Immersion has the answer!</p>
<p>We teach computer science and tech culture to children who are 12-18 years old. Our classes immerse students in a wide range of hardware and software related topics such as scripting, coding, “tech speak”, networking, and hardware.</p>
<p>Our classes are taught by instructors with real world industry experience and meet for 9-week sessions at locations convenient for you.</p>
<p></p></main><br>
<script src="http://code.jquery.com/jquery-2.2.4.js" integrity="sha256-iT6Q9iMJYuQiMWNd9lDyBUStIq/8PuOW33aOqmvFpqI=" crossorigin="anonymous"></script><br>
<script>
function setHeight() {
$('.img-c').css('height', $('.img-c').innerWidth());
}
setInterval(setHeight, 10);
</script><p></p>
</div><!-- .entry-content -->


</article><!-- #post-## -->


<footer id="colophon" class="site-footer" role="contentinfo">
<img class="icon" id="facebook" src="http://computerimmersion.com/beta/wp-content/facebook.png" alt="face">
<img class="icon" id="facebook" src="http://computerimmersion.com/beta/wp-content/facebook.png" alt="twitter">
<p id="copy">© 2016</p>
</footer><!-- .site-footer -->


</body><span class="gr__tooltip"><span class="gr__tooltip-content"></span><i class="gr__tooltip-logo"></i><span class="gr__triangle"></span></span></html>




Answer

The issue here is you need to change the flex alignment from row to column and the width of your container was at 200% which went past the screen.

* {
  margin: 0;
  padding: 0;
}

.entry-header {
  display: none;
}

body {
  overflow-x: hidden;
  width: 100%;
}

:root {
  background: #fff;
}

#logo {
  display: block;
  margin: auto;
  width: 200px;
  text-align: center;
}

nav ul {
  display: flex;
  justify-content: space-around;
  list-style: none;
  background: #38b449;
  color: #fff;
  font-size: 1.5rem;
  font-family: 'Segoe UI', sans-serif;
}

li.selected {
  color: #f05a2a;
}

nav ul li:hover {
  color: springgreen;
  cursor: pointer;
}

nav ul li.selected:hover {
  color: #f07a2a;
}

main * {
  margin: 20px auto;
}

#btns {
  display: flex;
  justify-content: space-around;
  flex-direction: row;
}

#btns input {
  width: 30%;
  display: block;
  padding: 10px;
  background: springgreen;
  border: none;
  border-radius: 10px;
  color: #fff;
  font-size: 1.3rem;
  font-weight: bold;
  font-family: 'Verdana';
}

#btns input:hover {
  background: #f05a2a;
  cursor: pointer;
}

main p {
  text-align: center;
  max-width: 80%;
  font-size: 1.5rem;
  font-family: 'Segoe UI';
}

main {
width:100%;
}

main p:nth-of-type(4) {
  font-weight: bold;
}

main hr {
  width: 100%;
  background: #0a0;
  height: 1px;
}

.img-c {
  width: 40%;
  background-color: #000;
  max-width: 200px;
  min-width: 50px;
}

.container {
  display: flex;
  justify-content: space-between;
  width: 200%;
}

main div {
  display: flex;
  justify-content: space-between;
}

main > div {
  justify-content: flex-end;
  width: 100%;
  margin: auto;
}

@media screen and (max-width: 416px) {
  .img-c {
    width: 100%;
  }
  
  .container {
    flex-direction: column;
    width: 100% !important;
   }
  
  main > div {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}

@media screen and (max-width: 358px) {
  nav ul {
    flex-direction: column;
    padding: 0;
  }
  
  nav ul li {
    width: 100%;
    text-align: center;
  }
  
  nav ul li:nth-child(2n) {
    background: #0c0;
  }
}

.entry-footer {
	background: #efe;
}

article {
width:100%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html lang="en-US" class="no-js gr__computerimmersion_com"><head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width">
	<link rel="profile" href="http://gmpg.org/xfn/11">
	<link rel="pingback" href="http://www.computerimmersion.com/beta/xmlrpc.php">
	<link rel="stylesheet" href="http://computerimmersion.com/beta/wp-content/themes/twentyfifteen/style.css">
	<!--[if lt IE 9]>
	<script src="http://www.computerimmersion.com/beta/wp-content/themes/twentyfifteen/js/html5.js"></script>
	<![endif]-->

</head>
<body class="page page-id-165 page-template-default" data-gr-c-s-loaded="true">
		
<article id="post-165" class="post-165 page type-page status-publish hentry">
	
	<header class="entry-header">
		<h1 class="entry-title">beta-main</h1>	</header><!-- .entry-header -->

	<div class="entry-content">
		<header>
  <img src="http://www.computerimmersion.com/wp-content/uploads/2015/10/CompImmer_logo_final_web4.png" id="logo" alt="logo"><p></p>
<nav>
<ul>
<li class="selected">Home</li>
<li>About</li>
<li>Classes</li>
<li>Jobs</li>
</ul>
</nav>
</header>
<p></p><main><p></p>
<div id="btns">
  <input type="button" id="open-contact" value="Contact"><br>
  <input type="button" id="open-player" value="Media">
</div>
<div>
<div class="container">
    <img src="http://www.computerimmersion.com/wp-content/uploads/2015/10/2.jpg" alt="img" class="img-c" style="height: 200px;"><br>
    <img src="http://www.computerimmersion.com/wp-content/uploads/2015/10/5.jpg" alt="img" class="img-c" style="height: 200px; background: magenta;">
    <img src="http://www.computerimmersion.com/wp-content/uploads/2015/10/1.jpg" alt="img" class="img-c" style="height: 200px;"><br>
    <img src="http://www.computerimmersion.com/wp-content/uploads/2015/10/4.jpg" alt="img" class="img-c" style="height: 200px; background: magenta;">
    </div>
<p></p></div>
<p>Are you looking for computer classes that go beyond the typical summer camp or one-day experience?</p>
<p>Does your child have an interest in coding or computer hardware and want to learn what to do next?</p>
<p>Computer Immersion has the answer!</p>
<p>We teach computer science and tech culture to children who are 12-18 years old. Our classes immerse students in a wide range of hardware and software related topics such as scripting, coding, “tech speak”, networking, and hardware.</p>
<p>Our classes are taught by instructors with real world industry experience and meet for 9-week sessions at locations convenient for you.</p>
<p></p></main><br>
<script src="http://code.jquery.com/jquery-2.2.4.js" integrity="sha256-iT6Q9iMJYuQiMWNd9lDyBUStIq/8PuOW33aOqmvFpqI=" crossorigin="anonymous"></script><br>
<script>
   function setHeight() {
	$('.img-c').css('height', $('.img-c').innerWidth());
   }
   setInterval(setHeight, 10);
</script><p></p>
			</div><!-- .entry-content -->

	
</article><!-- #post-## -->


	<footer id="colophon" class="site-footer" role="contentinfo">
		<img class="icon" id="facebook" src="http://computerimmersion.com/beta/wp-content/facebook.png" alt="face">
		<img class="icon" id="facebook" src="http://computerimmersion.com/beta/wp-content/facebook.png" alt="twitter">
		<p id="copy">© 2016</p>
	</footer><!-- .site-footer -->


</body><span class="gr__tooltip"><span class="gr__tooltip-content"></span><i class="gr__tooltip-logo"></i><span class="gr__triangle"></span></span></html>

Comments