html - 段落的CSS flexbox问题

标签 html css flexbox

我的 flexbox 和文本有问题,它不像移动 View 中的导航栏那样跟随。我希望它用与菜单大小相同的文本填充屏幕。

问题:

enter image description here

我想看起来像我的 article-container 这样文本就可以填满整个移动屏幕。在桌面 View 中,它们是三个在一起,在移动 View 中,它们像汉堡包一样堆叠,类似于菜单上写着 Länk 1 2 3 4。

enter image description here

body {
	margin: 0;
}
ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
	width: 25%;
	background-color: #EBEBEB;
	position: fixed;
	height: 100%;
	overflow: auto;
}
li a {
	display: block;
	color: #000;
	padding: 8px 16px;
	text-decoration: none;
}
li a.active {
	background-color: #F16529;
	color: white;
}
li a:hover:not(.active) {
	background-color: #555;
	color: white;
}
.container {
	margin-left: 25%;
	padding: 1px 16px;
	height: auto;
}
@media screen and (max-width: 480px) {
	ul {
		position: relative;
		width: 100%;
	}
	.container {
		margin: 0 auto;
		padding: 1px 16px;
	}
	div.item {
		width: initial;
		max-width: 256px;
	}
}
div.item {
	vertical-align: top;
	display: inline-block;
	text-align: center;
	max-width: 256px;
}
.blog {
	max-width: 100%;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	display: block;
}
.caption {
	display: block;
}
img {
	display: block;
}
img.wrap {
	max-width: 70%;
	margin: 30px 0px;
}
img.align-right {
	float: right;
	margin-left: 30px;
}
div.article-container {
	padding: 5px;
}
.clearfix:after {
	content: "";
	display: table;
	clear: both;
}
footer {
	right: 0;
	bottom: 0;
	left: 0;
	padding: 1rem;
	background-color: #EBEBEB;
	text-align: center;
}
@media(max-width:767px) {
	img.align-right {
		float: none;
		margin: auto;
	}
	div.article-container {
		padding: 5px;
		text-align: center;
		max-width: 256px;
	}
}
.flex-grid {
  display: flex;
}
.flex-grid .col {
  flex: 1;
}
.flex-grid-thirds {
  display: flex;
  justify-content: space-between;
}
.flex-grid-thirds .col {
  width: 32%;
}

@media (max-width: 400px) {
  .flex-grid,
  .flex-grid-thirds {
    display: block;
    .col {
      width: 100%;
      margin: 0 0 10px 0;
    }
  }
}




* {
  box-sizing: border-box;
}
body {
  padding: 20px;
}
.flex-grid {
  margin: 0 0 20px 0;
}
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>Inlämningsuppgift 6</title>
	<meta content="width=device-width, initial-scale=1" name="viewport">
	<link href="style.css" rel="stylesheet">
</head>
<body>
	<!--nav bar-->
	<nav>
		<ul>
			<li style="list-style: none"><br></li>
			<li><img alt="htmll logo" src="https://www.w3.org/html/logo/downloads/HTML5_Logo_256.png"></li>
			<li>
				<h2>Menu</h2>
			</li>
			<li>
				<a class="active" href="#lank">Länk 1</a>
			</li>
			<li>
				<a href="#lank2">Länk 2</a>
			</li>
			<li>
				<a href="#lank3">Länk 3</a>
			</li>
			<li>
				<a href="#lank4">Länk 4</a>
			</li>
		</ul>
	</nav><!--navbar end-->
	<!--container for blog posts 3 images-->

	</div>
	<div class="container">

		<h1>Innehåll</h1>
		<div class="flex-grid-thirds">
			<div class="col">
							<img alt="htmll logo" class="blog" src="https://www.w3.org/html/logo/downloads/HTML5_Logo_256.png" alligment >
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus</p>
			</div>
			<div class="col">
							<img alt="htmll logo" class="blog" src="https://www.w3.org/html/logo/downloads/HTML5_Logo_256.png">
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus</p>
			</div>
			<div class="col">
							<img alt="htmll logo" class="blog" src="https://www.w3.org/html/logo/downloads/HTML5_Logo_256.png">
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus</p>
			</div>
		</div>

	</div><!--end-->
	<hr>
	<!--container for article -->
	<div class="container">
		<div class="article-container clearfix">
			<img alt="html logo" class="wrap align-right" src="https://www.w3.org/html/logo/downloads/HTML5_Logo_256.png">
			<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus</p>
			<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus</p>
		</div>
	</div><!--end-->
	<footer class="container">
		Skriven i HTML 5.
	</footer>


</html>

最佳答案

您正在使用 .col 更新媒体查询中 .col 部分的宽度,但您使用 .flex-grid- 定义了初始宽度三分之二.col。所以这只是你的媒体查询中的一个特殊性问题。在媒体查询选择器中使用 .flex-grid-thirds .col

body {
  margin: 0;
}

ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  width: 25%;
  background-color: #EBEBEB;
  position: fixed;
  height: 100%;
  overflow: auto;
}

li a {
  display: block;
  color: #000;
  padding: 8px 16px;
  text-decoration: none;
}

li a.active {
  background-color: #F16529;
  color: white;
}

li a:hover:not(.active) {
  background-color: #555;
  color: white;
}

.container {
  margin-left: 25%;
  padding: 1px 16px;
  height: auto;
}

@media screen and (max-width: 480px) {
  ul {
    position: relative;
    width: 100%;
  }
  .container {
    margin: 0 auto;
    padding: 1px 16px;
  }
  div.item {
    width: initial;
    max-width: 256px;
  }
}

div.item {
  vertical-align: top;
  display: inline-block;
  text-align: center;
  max-width: 256px;
}

.blog {
  max-width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

.caption {
  display: block;
}

img {
  display: block;
}

img.wrap {
  max-width: 70%;
  margin: 30px 0px;
}

img.align-right {
  float: right;
  margin-left: 30px;
}

div.article-container {
  padding: 5px;
}

.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

footer {
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1rem;
  background-color: #EBEBEB;
  text-align: center;
}

@media(max-width:767px) {
  img.align-right {
    float: none;
    margin: auto;
  }
  div.article-container {
    padding: 5px;
    text-align: center;
    max-width: 256px;
  }
}

.flex-grid {
  display: flex;
}

.flex-grid .col {
  flex: 1;
}

.flex-grid-thirds {
  display: flex;
  justify-content: space-between;
}

.flex-grid-thirds .col {
  width: 32%;
}

@media (max-width: 400px) {
  .flex-grid,
  .flex-grid-thirds {
    display: block;
  }
  .flex-grid-thirds .col {
    width: 100%;
    margin: 0 0 10px 0;
  }
}


}
* {
  box-sizing: border-box;
}
body {
  padding: 20px;
}
.flex-grid {
  margin: 0 0 20px 0;
}
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>Inlämningsuppgift 6</title>
	<meta content="width=device-width, initial-scale=1" name="viewport">
	<link href="style.css" rel="stylesheet">
</head>
<body>
	<!--nav bar-->
	<nav>
		<ul>
			<li style="list-style: none"><br></li>
			<li><img alt="htmll logo" src="https://www.w3.org/html/logo/downloads/HTML5_Logo_256.png"></li>
			<li>
				<h2>Menu</h2>
			</li>
			<li>
				<a class="active" href="#lank">Länk 1</a>
			</li>
			<li>
				<a href="#lank2">Länk 2</a>
			</li>
			<li>
				<a href="#lank3">Länk 3</a>
			</li>
			<li>
				<a href="#lank4">Länk 4</a>
			</li>
		</ul>
	</nav><!--navbar end-->
	<!--container for blog posts 3 images-->

	</div>
	<div class="container">

		<h1>Innehåll</h1>
		<div class="flex-grid-thirds">
			<div class="col">
							<img alt="htmll logo" class="blog" src="https://www.w3.org/html/logo/downloads/HTML5_Logo_256.png" alligment >
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus</p>
			</div>
			<div class="col">
							<img alt="htmll logo" class="blog" src="https://www.w3.org/html/logo/downloads/HTML5_Logo_256.png">
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus</p>
			</div>
			<div class="col">
							<img alt="htmll logo" class="blog" src="https://www.w3.org/html/logo/downloads/HTML5_Logo_256.png">
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus</p>
			</div>
		</div>

	</div><!--end-->
	<hr>
	<!--container for article -->
	<div class="container">
		<div class="article-container clearfix">
			<img alt="html logo" class="wrap align-right" src="https://www.w3.org/html/logo/downloads/HTML5_Logo_256.png">
			<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus</p>
			<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus</p>
		</div>
	</div><!--end-->
	<footer class="container">
		Skriven i HTML 5.
	</footer>


</html>

关于html - 段落的CSS flexbox问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44141998/

相关文章:

jquery - 带有流畅水平子菜单的垂直导航

php - 如何将用户重定向到另一个域 .htaccess

python - 在列中插入图像后溢出

html - 单击文本以选择相应的单选按钮

html - flexbox 可以处理不同大小的列但一致的行高吗?

html - div 背景在 chrome 中显示不正确

html - 调整 CSS 设备大小

jquery - 通过 JavaScript 在 Opera 中获取带前缀的 CSS 属性

html - 如何在 Ionic 中用 flexbox 填充垂直空间

html - 柔性 : Align multiple items as a table