html - 固定宽度并使其响应
问题描述
我有一个 ul,里面有 3 li。使用 display: flex, justify-content: space-between 和一些填充和边距,它看起来正是我想要的。
我还有 2 件事情,我从几个小时以来就一直在尝试做这些事情,但它不起作用。
li 元素应该有一个固定的宽度。固定宽度有效,但是当我缩小窗口时,li 元素的宽度缩小到页面大小,并且它们保持在同一行。
我希望宽度是固定的,当我缩小窗口时,根据窗口大小,li 元素应该排成 2 或 3 行(用于移动视图)
我希望它很容易理解...
这是我的代码:
.content-wrapper {
ul {
display: flex;
justify-content: space-between;
list-style: none;
padding: 0 1em;
li {
margin-right: 2.5em;
width: 350px;
max-width: 350px;
}
li:last-child {
margin-right: 0;
}
}
}
<div class="content-wrapper">
<div class="wrapper">
<ul>
<li>
<h1 class="content-title">
Über die Zahnarztpraxis
</h1>
<p class="content-text">
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
</p>
</li>
<li>
<h1 class="content-title">Öffnungszeiten</h1>
<p class="content-text">
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
</p>
</li>
<li>
<h1 class="content-title">Kontakt</h1>
<p class="content-text">
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
</p>
</li>
</ul>
</div>
</div>
解决方案
将您的项目设置min-width
为我在评论中建议的。
并将您的flexbox
.content-wrapper ul
项目设置为flex-wrap: wrap;
这会将它们堆叠/包装在不同的屏幕尺寸上。
* {
margin: 0px;
padding: 0px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
body {
font-family: 'Tajawal', sans-serif;
color: #141414;
}
.header-wrapper {
background-color: #e0e0e0;
-webkit-box-shadow: 0px 4px 5px -2px #b8b8b8;
box-shadow: 0px 4px 5px -2px #b8b8b8;
padding: 1.5em 0;
}
.wrapper {
max-width: 1300px;
margin: 0 auto;
padding: 0 1.5em;
}
a {
text-decoration: none;
color: #141414;
cursor: pointer;
}
header {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
max-height: 80px;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
header .logo {
font-size: 1.8em;
font-weight: 400;
padding-left: 0.5em;
}
header ul {
list-style: none;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
header ul li a {
padding: .5em 1em;
text-transform: uppercase;
font-size: 1.1em;
font-weight: 500;
}
header ul li a:hover {
color: #f0853e;
}
header ul li a:focus {
color: #f0853e;
}
header ul li.nav-links {
margin: 0 .1em;
}
.header-image {
margin: 1em auto;
padding: 0 auto;
display: block;
}
.header-image img {
width: 100%;
padding: 0 auto;
border-bottom: #f0853e;
border-bottom-style: solid;
}
h1.content-title {
color: #f0853e;
font-size: 1.8em;
font-weight: 600;
margin-bottom: 7px;
}
p.content-text {
color: #141414;
font-size: 18px;
font-weight: 400;
}
.content-wrapper ul {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
list-style: none;
padding: 0 1em;
flex-wrap: wrap;
}
.content-wrapper ul li {
margin-right: 2.5em;
width: 350px;
min-width: 350px;
}
.content-wrapper ul li:last-child {
margin-right: 0;
}
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<div class="header-wrapper">
<div class="wrapper">
<header>
<a href="#" class="logo">Zahnarztpraxis Dr. Beuran</a>
<ul>
<li class="nav-links">
<a href="#">Home</a>
</li>
<li class="nav-links">
<a href="#">Dienstleistungen</a>
</liclass="nav-links">
<li class="nav-links">
<a href="#">Über uns</a>
</li>
<li class="nav-links">
<a href="#">Team</a>
</li>
<li class="nav-links">
<a href="#">Standort</a>
</li>
<li class="nav-links">
<a href="#">Kontakt</a>
</li>
</ul>
</header>
</div>
</div>
<div class="header-image">
<div class="wrapper">
<img src="http://derderic.ch/project/img/home.jpg" alt="Home">
</div>
</div>
<div class="content-wrapper">
<div class="wrapper">
<ul>
<li>
<h1 class="content-title">
Über die Zahnarztpraxis
</h1>
<p class="content-text">
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
</p>
</li>
<li>
<h1 class="content-title">Öffnungszeiten</h1>
<p class="content-text">
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
</p>
</li>
<li>
<h1 class="content-title">Kontakt</h1>
<p class="content-text">
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
</p>
</li>
</ul>
</div>
</div>
</body>
</html>
推荐阅读
- laravel - 使用 API 中的数据填充 Quasar Tree - 发送处理函数时遇到问题
- revit-api - Revit API:维护多个 API 版本的代码
- javascript - 使用递归
- terraform - 为什么 terraform 在以下琐碎场景中无法正确计算局部变量?
- php - magento1.9.1 有没有办法让它在 xampp 3.2.4 上与 php7.4.4 一起工作
- android - 带有图像的 Android Firebase 通知不起作用
- c# - 无法在 EF 访问的存储过程中将 NVARCHAR 转换为 datetime2
- excel - 如何以这种方式将数据粘贴到列和行中
- java - 为什么我在 Java 中使用级联 if 时会出现错误?
- javascript - JS CryptoJS 加密 -> PHP OpenSSL 解密:密码改变长度