CSS3模块提供灵活的布局,提供了广泛的对齐元素选项,同时无需浮动和表格。
我有一个水平线元素连接到 Flexbox 容器内部的导航菜单,而 Flexbox 容器又位于 Flexbox 容器内部: 我有一个水平线元素连接到 Flexbox 容器内的导航菜单,而 Flexbox 容器又位于 Flexbox 容器内: <div id="wrapper"> <div id="header"> <div id="menu_container"> <!--(flex container)100% of horizontal space across the screen--> <div id="menu_align"> <!--(flex container)50% of horizontal space.Right half of the screen--> <div id="line_horizontal"></div> <nav id="nav"> <ul> <li><a href="#">About</a></li> <li><a href="#">Portfolio</a></li> <li><a href="#">Contact</a</li> </ul> </nav> </div> </div> <div id="logo"> </div> </div> 当我调整窗口大小时,菜单会堆叠起来,而不是水平线变短。我该如何修复它? (我希望菜单保持完整,而队伍则缩小) #menu_container { display: flex; justify-content:right; border-style: solid; border-color: #ffffff; border-width: 0px; padding-bottom: 1em; } #menu_align { display:flex; justify-content:flex-end; width:50%; } #line_horizontal { height: 2px; margin-top:30px; width:100%; background: rgba(0, 0, 0, 0.50); } #nav { border-style: solid; border-color: #000; width:590px; font-size: 0.9em; margin-right:9em; margin-left:0em; background-color:rgba(0,0,0,0.1); border-left:solid 1px #000; border-right: solid 1px #000; } #nav ul { list-style: none; padding-left: 0em; } #nav ul li { float: right; padding: 0.5em; } 你的结构: 在Flex中,性能是这样的: 当你给出一个元素display: flex时。 这会影响该元素的子元素。 因此,并非所有元素都具有 display: flex。 所以我只是调整了大小并用 percentages(%) 设置它们以使其响应。 Flex 有一个称为 flex-wrapper 的功能。 它可以取两个值: 无包装 包裹 第一个数量表示如果空间不足,我会将元素移动到下一行。 第二个选项表示 如果没有足够的空间,则使元素变小,但将它们保留在原来的位置。 通过调整导航的宽度解决了该问题,并且它们不再溢出框。 body { margin: 1%; /* For a suitable distance from all four sides. */ } #header, #wrapper, #menu_container { width: 100%; } /* parent for nav */ #menu_align { width: 100%; display: flex; justify-content: right; } #line_horizontal { height: 2px; margin-top: 30px; width: 100%; background: rgba(0, 0, 0, 0.50); } #nav { width:max-content; font-size: 0.9em; flex-wrap: nowrap; } #nav>ul { border: 1px solid black; /* I gave this to the border so it can better cover the links. */ list-style: none; padding-left: 0em; display: flex; justify-content: space-around; flex-wrap: nowrap; } #nav>ul>li { float: right; padding: 0.5em; display: flex; justify-content: space-around; flex-wrap: nowrap; } <!DOCTYPE html> <html lang="fa"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>flex-box</title> <link rel="stylesheet" href="style.css"> </head> <body> <div id="wrapper"> <div id="header"> <div id="menu_container"> <!--(flex container)100% of horizontal space across the screen--> <div id="menu_align"> <!--(flex container)50% of horizontal space.Right half of the screen--> <div id="line_horizontal"></div> <nav id="nav"> <ul> <li><a href="#">About</a></li> <li><a href="#">Portfolio</a></li> <li><a href="#">Contact</a</li> </ul> </nav> </div> </div> <div id="logo"> </div> </div> </body> </html> 祝你好运!
将标题与页面主体居中以便无论屏幕分辨率如何它们都保持居中的最简单方法是什么? 我的标头容器是这样的: .标头包含...
我有一个带有 Flex 容器的基本 Flexbox 布局,在 Flex 容器内,顶部有一个菜单,下面有一个图像容器。图像的容器具有动态高度,它包括...
我已将主菜单元素的高度设置为 40px,为什么内容元素会增加其垂直尺寸并占用菜单空间? #根 { 显示:柔性; 高度:100vh; 弯曲方向:
css flexbox / tailwind“简单”对齐无法按我的预期工作
我正在尝试创建一个包含 4 个部分的简单部分 - 左上、左下、右上和右下。我无法做一些看似非常简单的事情。也就是说,我想要一个元素在顶部
我有一个包含三个元素的 div:输入字段、计时器、桌面视图中的重置按钮,所有三个元素的高度相同,但当我在 iphone 12 mini 上查看它时,特别是计时器和重置
我正在使用选项卡和选项卡内容的样式元素创建一个带有选项卡的网站。 在其中一个选项卡内容中,我想使用 Flex 容器来控制各种元素的显示 - 表格、图表和文本...
我尝试将此代码居中,但我找不到代码中的内容使其放置在左侧而不是居中。 我已将 flex-direction 更改为列而不是像原来那样的行。哪个...
我这里有这支笔:https://codepen.io/anon/pen/wPdrod 正如你所看到的(至少在 Chrome 和 Firefox 中),有 2 个垂直滚动条。应该只有内部的,因为标题应该
我正在尝试创建一个响应浏览器宽度的 Flexbox 画廊(即换行并自动创建行),您可以在其中单击图像来打开图像本身的完整尺寸版本...
给定一个灵活的框列,如何随着文本长度的增加调整图像大小以适应。 。容器 { 宽度:400px; 高度:300px; 边框:3px 纯绿色; 内边距:4px; 显示:柔性; ...
我有一个具有以下样式的弹性容器: 部分 { 宽度:100vw; 高度:100vh; 显示:柔性; 溢出-y:滚动; 调整内容:居中; 对齐项目:居中; 弯曲-
使用Flex Wrap时,高度如何通过最小高度与第一行相同?
目前,我使用 Flex 换行在移动到下一行时留出一个空格。然而,如果第一个的高度变长,则第一个柔性包装线的高度不会变长。 目前,我使用 Flex 换行在移动到下一行时留出一个空格。但是,如果第一个高度变长,第一个柔性换行线的高度不会变长。 <div class="parent"> <div class="unique-wrapper"> <div class="unique_element">First</div> </div> <div class="child-wrapper"> <div class="child">Second</div> <div class="child">Third</div> <div class="child">Fourth</div> <div class="child">Fifth</div> </div> </div> div { font-family: arial, sans-serif; margin: 5px; color: white; border: 1px dotted black; } .parent { display: flex; width: 300px; } .unique_element { background-color: Crimson; padding: 10px 10px 10px 10px; } .unique-wrapper, .child-wrapper { border: none; margin: 0; } .unique-wrapper { flex: 3; } .child-wrapper { flex: 7; display: flex; flex-wrap: wrap; } .child { width: auto; background-color: Cornflowerblue; padding: 10px 10px 10px 10px; } 我的结果 增加高度时 随着第一个高度的增加,第二个和第三个的长度也必须增加,但在当前代码中,只有第一个更长。我搜索并发现有一种方法可以添加隐藏元素,但我无法使用 data.map 为特定元素提供类名。我该怎么办? 我想要的结果 我想知道需要做什么工作才能使它看起来像上图。 这是因为,你的 unique_element 是 flex 的一个子元素,而 child-wrapper 是另一个。因此,如果 unique_element 的高度增加,它会考虑与 child-wrapper 的关系。为了实现您的功能,您可以将其设为 3-column grid,也可以将第一个 3 个元素放入一个子元素中,将其他 2 个元素放入下一个元素中。这取决于您的用例。
如何将文本放置在同一 div 容器内的两个 div 元素下方
我试图让我的网站看起来像下面第一张图片中的设计,但我还想在第一张图片下方添加另一个文本,并如第一张图片下方的第二张图片所示添加文本
我正在使用 Flexbox 构建以下卡片布局 。卡片 { 弹性基础:计算(100% - 40px); 边框半径:4px; } .card__内容{ 内边距:25px; } .card__页脚{ 显示:f...
如何在不使用position:absolute的情况下使网格项跨越两行?
我正在尝试实现一种布局,其中网格中的元素跨越两行,类似于下面所示的设计: 在此设计中,“Strech over 2 rows”图块应垂直延伸穿过两个部分...
bootstrap v4.5 中的 justify-content-center 类不起作用,即使我的 html 与 bootstrap 文档中的 html 完全匹配
我正在尝试为我正在为本地企业设计和编码的网站创建一个响应式联系我们部分,但是 bootstrap v4.5 中的 justify-content-center 类并未将图标居中...
我有一个弹性盒容器,其中包含 5 或 6 个项目。容器的 flex-direction 将设置为 row。我想要的是像这样分发这些项目:第一个项目应该是第一个
父级上的 maxheight 会阻止子级上的 Flex Growth 工作
我有一个具有以下结构的组件: 我有一个具有以下结构的组件: <View style={styles.container}> <LoyaltyCard {...cardData} onPress={onCardDetails} style={styles.card} /> <ScrollView style={styles.informationContainer}> <LoyaltyCardInformation style={styles.information} storeId={storeId} /> </ScrollView> <TextButton title={"Add Card"} onPress={onAddCard}></TextButton> </View> 相关样式: container: { minHeight: 0, maxHeight: "60%", flexDirection: "column" }, card: { zIndex: 2 }, informationContainer: { marginTop: -15, marginBottom: -15, flexGrow: 1, // height: 300, padding: 15, backgroundColor: "#f0f" }, information: { paddingTop: 15, paddingBottom: 15 } 这给了我以下结果: 正如您所看到的,粉色 informationContainer 并未占据 flexGrow 属性指示的组件中的所有剩余空间。 如果我检查检查员是否有足够的空间,请参阅下图: 如您所见,有足够的空间。那么我该如何让粉色容器占据所有可用空间呢? 您可以尝试将 flexGrow: 1 放在 container 风格上吗?
在下面的示例中您可以看到该问题。我尝试将 grid-container (ol) 的 grid-tample-colums 属性更改为 grid-template-columns: min-content 1fr 0; 。但我被困住了。 奥尔{