- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
您好,我有以下 HTML 代码(这里是“工作”example)
<div class="layout">
<main class="main">
<nav class="menu">
<div><div class="menu__item">Item</div></div>
<div><div class="menu__item">Item</div></div>
<div><div class="menu__item">Item</div></div>
<div><div class="menu__item">Item</div></div>
</nav>
<section class="main__content">
Some Content
</section>
</main>
</div>
风格:
.layout {
height: 100vh;
display: flex;
flex-direction: column;
}
.main {
display: flex;
}
.menu {
display: flex;
border-right: solid 3px red;
width: 258px;
flex-direction: column;
}
.menu__item {
height: 340px;
width: 240px;
margin: 10px;
background: #aaaaaa;
}
问题是在 Chrome 上,当屏幕高度小于左侧菜单并出现滚动条时,当滚动条向下移动时,菜单右边框(红色)将不会呈现。期望的行为是在垂直菜单的末尾绘制红色边框(因此如果我们移动滚动条,我们应该总是看到红色边框)。怎么做?
最佳答案
这是 block 元素的默认行为。它们变得与其父元素一样高或宽,另一方面,内联元素,它们随着内容而增长。
有几种解决方案可以使 红色边框 随内容变大,这里有 3 种,我在其中使用了您自己的答案中提到的 2 来解释它们的工作原理:
将其移至 main
子级。之所以可行,是因为 flex 元素的行为类似于内联 block ,并随着内容的增长而增长。
通过使用 min-height
代替,使最外层具有非固定高度,在本例中为 layout
。这是因为现在允许 flex 容器高于全视口(viewport)。
main
不允许增长但允许收缩,因为 flex 元素默认值为 flex: 0 1 auto
,所以通过设置它到 flex: 1 0 auto
这些术语被交换了。
堆栈片段 1
.layout {
height: 100vh;
display: flex;
flex-direction: column;
}
.main {
display: flex;
}
.menu {
display: flex;
width: 258px;
flex-direction: column;
}
.menu > div {
border-right: solid 3px red;
}
.menu__item {
height: 340px;
width: 240px;
margin: 10px;
background: #aaaaaa;
}
<div class="layout">
<main class="main">
<nav class="menu">
<div><div class="menu__item">Item</div></div>
<div><div class="menu__item">Item</div></div>
<div><div class="menu__item">Item</div></div>
<div><div class="menu__item">Item</div></div>
</nav>
<section class="main__content">
Some Content
</section>
</main>
</div>
堆栈片段 2
.layout {
min-height: 100vh;
display: flex;
flex-direction: column;
}
.main {
display: flex;
}
.menu {
display: flex;
width: 258px;
flex-direction: column;
border-right: solid 3px red;
}
.menu__item {
height: 340px;
width: 240px;
margin: 10px;
background: #aaaaaa;
}
<div class="layout">
<main class="main">
<nav class="menu">
<div><div class="menu__item">Item</div></div>
<div><div class="menu__item">Item</div></div>
<div><div class="menu__item">Item</div></div>
<div><div class="menu__item">Item</div></div>
</nav>
<section class="main__content">
Some Content
</section>
</main>
</div>
堆栈片段 3
.layout {
height: 100vh;
display: flex;
flex-direction: column;
}
.main {
flex: 1 0 auto;
display: flex;
}
.menu {
display: flex;
width: 258px;
flex-direction: column;
border-right: solid 3px red;
}
.menu__item {
height: 340px;
width: 240px;
margin: 10px;
background: #aaaaaa;
}
<div class="layout">
<main class="main">
<nav class="menu">
<div><div class="menu__item">Item</div></div>
<div><div class="menu__item">Item</div></div>
<div><div class="menu__item">Item</div></div>
<div><div class="menu__item">Item</div></div>
</nav>
<section class="main__content">
Some Content
</section>
</main>
</div>
当谈到为什么额外的 div
包裹在 menu__item
工作时,是因为默认情况下 flex 元素总是尝试收缩以适应 因为它默认为 flex: 0 1 auto
,但同时不会小于它的内容,因为它是额外的 div
flex item,具有一定大小的内容,它可以。
当您使用上面的选项 3 时,它会在没有 div
包装器的情况下开始工作,因为现在 main
可以随其内容增长,这将使menu__item
保持其高度。
堆栈片段
.layout {
height: 100vh;
display: flex;
flex-direction: column;
}
.main {
flex: 1 0 auto;
display: flex;
}
.menu {
display: flex;
width: 258px;
flex-direction: column;
border-right: solid 3px red;
}
.menu__item {
height: 340px;
width: 240px;
margin: 10px;
background: #aaaaaa;
}
<div class="layout">
<main class="main">
<nav class="menu">
<div class="menu__item">Item</div>
<div class="menu__item">Item</div>
<div class="menu__item">Item</div>
<div class="menu__item">Item</div>
</nav>
<section class="main__content">
Some Content
</section>
</main>
</div>
关于css - 屏幕滚动时 Flex 切断边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46949526/
我有一个自定义的 android 开关,它是这样定义的 和像这样的拇指选择器项
很不情愿地,我请求你们帮助我克服我的大脑卡住。我正在录制音频,但遇到一个问题,无法在不丢失一半的情况下获取录制的音频。 recAudioInput = recAudioContext.createMe
我正在学习本教程:http://code.tutsplus.com/tutorials/android-user-interface-design-creating-a-numeric-keypad-
我在 Swift 中使用 CGImageCreateWithImageInRect 在触摸位置创建部分图像的副本。 我的代码运行良好,除非用户触摸屏幕边缘并且矩形大小落在 View 框架之外。它不是返
我有一张正在创建的 map ,它的一部分似乎被切断或偏离了中心。我已经尝试添加 google.maps.event.triggerr(map, 'resize') 但它仍然被切断。有什么想法吗?
我有一个包含 5 列的数据框,所有列都包含数值。列代表时间步长。我有一个阈值,如果在规定时间内达到,就会阻止值发生变化。所以假设原始值是 [ 0 , 1.5, 2, 4, 1] 排列成一行,阈值是 2
有没有办法以编程方式关闭电源或关闭 Mac 上的 USB 端口? 最佳答案 我相信 USB 电源通常直接来自电源。它可能会通过主板或其他一些硬件将其与数据线结合起来,但我认为电压不会通过任何可编程电路
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
Android 上是否有接口(interface)或 API 或其他东西允许应用弹出电缆并停止从电缆供电或接收电源? 我查看了 USBDevice(包括 USBInterfaces),似乎找不到任何可
我知道我可以让 Navigation Header 在 actionBar 上滑动,但我只想将整个 Navigation drawer 向下移动,因为我想保持“后退”按钮和 actionBar 始终可
我有一个主要的 viewController A 和一个 UITabBar。我的问题是,当我滚动到最后一个单元格,然后在 UITableView 中单击单元格进入 viewController B,然
我有一个 Web 应用程序,在 Safari 中呈现时看起来不错,但浏览器不遵守打印媒体查询。在 Chrome 中,整个可打印区域看起来都不错,但在 Safari 中,它似乎只是可见内容的一些变体。
当使用带有 SeekBar View 的自定义 thumb drawable 时,拇指 drawable 在 View 的左右边缘被剪裁。 如何解决此问题? 最佳答案 您应该可以通过设置 paddin
我在文件中有一个字符串: git@github.com:myorg/Myrepo.git git@github.com:myorg/Mysecondrepo.git git@github.com:my
我有一个信息亭网页,其中加载了55px标题,而iFrame则占据了其下方的其余窗口。在iFrame中,我有一个页面可以懒惰地加载项目网格。我们一次加载50个项目,然后再加载50个,依此类推。每个项目都
我正在使用jquery form plugin它使用 jquery ajax 来完成大部分工作。我们有 jquery 1.7.2 我们使用它通过 ajax 向服务器发送表单,并返回指示成功的值或返回带
这是我的按钮元素: Let Me In, please! 这是 CSS: .btn-submit { margin: 0; padding: 0; border: none; font-family:
我的 CSS 样式表中有以下类: .errormsg { border:solid 1px Red; padding:5px 20px 5px 20px; margin:5px; co
我将 JWPlayer 与包含字幕的 HLS 文件一起使用。但是,当我在 iPhone 或其他 iOS 设备上播放此文件时,它会切断字幕: 有没有办法提高移动设备上字幕的高度?我的 HLS 文件是:
我有一个放置在 View 内部的 UIScrollView(界面生成器文档 .xib/.m/.h),但是由于 UITabBarController,UIScrollView 的下半部分被剪裁并且不显示
我是一名优秀的程序员,十分优秀!