为什么我的布局在移动设备上向左展开?

时间:2016-05-23 15:45:30

标签: css mobile responsive-design

当我将网站扩展到移动设备时,会发生一些奇怪的事情。除了图像之外的所有东西似乎都被迫向左,并且无法覆盖整个宽度。为什么会这样? /我该如何解决?\

* {
  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>

1 个答案:

答案 0 :(得分:1)

此处的问题是您需要将弹性对齐方式从row更改为column,并且容器的宽度为200%,超过了屏幕。

&#13;
&#13;
* {
  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%;
}
&#13;
<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>
&#13;
&#13;
&#13;