- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
某些结构在 FF 中运行良好,但 Chrome 却不行。
堆栈片段
html, body {
height: 100%!important; width: 100%!important;
margin: 0!important; padding: 0!important;
}
.x {display: flex; flex-direction: column; height: 100%; width: 100%;}
.x-header {background-color: silver;}
.x-body {flex: 1 1 auto; overflow-y: auto;}
/* CONTENT WITH 2 COLUMNS */
.x-structure-2-columns {display: flex; flex-direction: row; height: 100%; width: 100%;}
.x-structure-2-columns-left {background-color: lightgreen; width: 100px;}
.x-structure-2-columns-right {display: flex; flex: 1 1 auto; overflow-y: auto; flex-direction: column;}
.x-structure-2-columns-right-header {background: yellow;}
.x-structure-2-columns-right-body {flex: 1 1 auto; overflow-y: auto; min-height: 0px; background: pink;}
<div class="x">
<div class="x-header">This is a header</div>
<div class="x-body">
<div class="x-structure-2-columns">
<div class="x-structure-2-columns-left">
LEFT
</div>
<div class="x-structure-2-columns-right">
<div class="x-structure-2-columns-right-header">SUB NAVIGATION</div>
<div class="x-structure-2-columns-right-body"><p>123<br>345<br>678</p><p>123<br>345<br>678</p><p>123<br>345<br>678</p><p>123<br>345<br>678</p><p>123<br>345<br>678</p><p>123<br>345<br>678</p><p>123<br>345<br>678</p><p>123<br>345<br>678</p><p>123<br>345<br>678</p><p>123<br>345<br>678</p><p>123<br>345<br>678</p><p>123<br>345<br>678</p><p>123<br>345<br>678</p><p>123<br>345<br>678</p><p>123<br>345<br>678</p><p>123<br>345<br>678</p><p>123<br>345<br>678</p><p>123<br>345<br>678</p><p>123<br>345<br>678</p><p>123<br>345<br>678</p><p>123<br>345<br>678</p><p>123<br>345<br>678</p><p>123<br>345<br>678</p><p>123<br>345<br>678</p><p>123<br>345<br>678</p><p>123<br>345<br>678</p><p>123<br>345<br>678</p><p>123<br>345<br>678</p><p>123<br>345<br>678</p><p>123<br>345<br>678</p></div>
</div>
</div>
</div>
</div>
2 列必须固定,但它们不在 Chrome 中。
这里还有一个 fiddle :https://jsfiddle.net/q28v4z05/
谢谢!
最佳答案
此处您使用了 height: 100%
,并结合了部分嵌套的 Flexbox。
不推荐这样做,例如 flex 元素通常使用 flex-grow 或 align-items 来填充其父项的给定高度/宽度,并且没有高度设置。因此,当 flex 元素的子项使用百分比时,它在大多数情况下会解析为 auto
并导致它无法正常工作。
而是一直使用 Flexbox。
此处的主要修复是在 x
上将 min-height
的默认 auto
重置为 0
,允许它小于它的内容,结合添加 display: flex
,使它成为一个 flex 容器。
这样我们就可以删除 .x-structure-2-columns
上的 height: 100%
并让 Flexbox 负责空间分配。
请注意,可以使用 overflow
(使用 visible
以外的值)代替 min-height: 0
,正如您在某些地方使用 overflow-y: auto;
所做的那样,尽管 min-height
在可读性方面更合适,除非需要例如一个滚动条,就像在 x-structure-2-columns-right-body
上一样。
我还清理了一些不需要或具有默认值的属性。
以下示例已在最新版本的 Chrome、Firefox、Edge 和 IE11 上成功测试。
堆栈片段
html, body {
height: 100%;
margin: 0;
}
.x {
display: flex;
flex-direction: column;
height: 100%;
}
.x-header {
background-color: silver;
}
.x-body {
flex: 1;
min-height: 0; /* added */
display: flex; /* added */
}
/* CONTENT WITH 2 COLUMNS */
.x-structure-2-columns {
flex: 1; /* fill width */
display: flex;
}
.x-structure-2-columns-left {
background-color: lightgreen;
width: 100px;
}
.x-structure-2-columns-right {
flex: 1 1 auto;
display: flex;
flex-direction: column;
}
.x-structure-2-columns-right-header {
background: yellow;
}
.x-structure-2-columns-right-body {
flex: 1 1 auto;
overflow-y: auto;
background: pink;
}
<div class="x">
<div class="x-header">This is a header</div>
<div class="x-body">
<div class="x-structure-2-columns">
<div class="x-structure-2-columns-left">
LEFT
</div>
<div class="x-structure-2-columns-right">
<div class="x-structure-2-columns-right-header">SUB NAVIGATION</div>
<div class="x-structure-2-columns-right-body">
<p>123
<br>345
<br>678</p>
<p>123
<br>345
<br>678</p>
<p>123
<br>345
<br>678</p>
<p>123
<br>345
<br>678</p>
<p>123
<br>345
<br>678</p>
<p>123
<br>345
<br>678</p>
<p>123
<br>345
<br>678</p>
<p>123
<br>345
<br>678</p>
<p>123
<br>345
<br>678</p>
<p>123
<br>345
<br>678</p>
<p>123
<br>345
<br>678</p>
<p>123
<br>345
<br>678</p>
<p>123
<br>345
<br>678</p>
<p>123
<br>345
<br>678</p>
<p>123
<br>345
<br>678</p>
<p>123
<br>345
<br>678</p>
<p>123
<br>345
<br>678</p>
<p>123
<br>345
<br>678</p>
<p>123
<br>345
<br>678</p>
<p>123
<br>345
<br>678</p>
<p>123
<br>345
<br>678</p>
<p>123
<br>345
<br>678</p>
<p>123
<br>345
<br>678</p>
<p>123
<br>345
<br>678</p>
<p>123
<br>345
<br>678</p>
<p>123
<br>345
<br>678</p>
<p>123
<br>345
<br>678</p>
<p>123
<br>345
<br>678</p>
<p>123
<br>345
<br>678</p>
<p>123
<br>345
<br>678</p>
</div>
</div>
</div>
</div>
</div>
关于html - CSS3 FLEXBOX 无法正常工作的 Chrome(FF - OK),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48364581/
我正在使用以下代码读取我在文本编辑器 (Notepad++) 中创建的文本 (.xml) 文件,将我从中读取的 UTF-8 文本转换为 UTF-16,以便 Windows API 函数可以使用它,然后
关闭。这个问题是opinion-based .它目前不接受答案。 想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它. 1年前关闭。 Improve this
我知道所有的论坛都充满了这样的问题,但我尝试了几个钩子(Hook),但它们不起作用(或者我做的不好)。 所以,我有: main.cpp <- fawn.h <- connector.cpp (defe
这是我正在使用的一段代码。 当 items 为 null 时,ok(Object items) 方法在内部调用 Jersey 的 Response.ok() 方法。 MembershipReq
我在 Tcl/Tk 中有一个简单的窗口,点击确定按钮运行模拟。我正在使用 Linux。模拟完成后,窗口将被销毁。问题是在模拟运行时窗口仍然存在。我希望窗口在我点击确定按钮后消失。 我尝试使用 wm w
在我们的网络应用程序中,我将 Angular-Materials $mdDialog 与确认对象一起使用。是否可以将按钮的顺序从取消-确定更改为确定-取消?并将初始焦点设置为取消按钮?也许通过 CSS
这个问题在这里已经有了答案: 关闭10年前。 Possible Duplicate: Ternary conditional operator in Python 我有这个问题,不知道要问谷歌: (v
我尝试使用 R 进行回归。我有以下代码,导入 CSV 文件没有问题 dat <- read.csv('http://pastebin.com/raw.php?i=EWsLjKNN',sep="
在 QInputDialog 中,如何去掉 OK 和 Cancel 按钮中的图标? 注意取消和确定的图标。我查看了属性按钮,不知道如何删除它们。 最佳答案 解决方案的策略是先获取按钮,但是这些属于QD
当使用Postman测试项目时,任何POST方法,我收到的是200 OK而不是201 Created,并且subreddit不是在数据库中创建的,并且在控制台休眠中接收到以下内容:SELECT T1_
当使用Postman测试项目时,任何POST方法,我收到的是200 OK而不是201 Created,并且subreddit不是在数据库中创建的,并且在控制台休眠中接收到以下内容:SELECT T1_
我制作了一个安卓应用程序,可以从本地 wifi 网络传输语音。为了收听和流式传输,我使用 JNI 中的 Opus C API 进行解码,并使用 OpenSL Audio 进行读取。 我从 Servic
我有一个定义如下的 map : mapMeasures := make(map[time.Time]models.Measure, 0) 与 type Measure struct { Del
这里我的数据集是 pd我已将其拆分为训练和测试数据 pd_train1和 pd_train2 sku national_inv lead_time in_transit_qty forecas
我已经检查过有关此问题的其他问题,但由于问题似乎非常具体,因此它们没有帮助。 我有一个像这样的数据框(这只是一个简单的示例,下面提供了来自 dput() 的示例数据): year species ab
当我使用 anova_test() 函数(来自 rstatix 包)做双向重复测量方差分析时,出现错误: lm.fit(x, y, offset = offset, singular.ok = sin
我一直在尝试对数据集进行 2-Way 重复测量测试,年份和疫苗类型是自变量,覆盖率是因变量。我用代码运行它: sat = anova_test( data=SA, dv = coverage, w
奇遇 我是一个普通的大学生,尹成是我的名字。顾名思义,我和其他人一样,没有什么特别之处。然而,在某个偶然的机会下,我发现了一个全新的领域——编程。 初印象 说实话,我对编程并不了解,甚至可以说是一窍不
我使用这些代码创建了一个卡拉 OK 并将其刻录到 VCD。 xxxxxx_1.m4a 文件是左声道(乐器),xxxxxx_0.m4a 文件是右声道(带人声的歌曲)。 将它们组合到 become xxx
我不确定为什么会发生这种情况,但我有一个简单的 Ajax 代码: $.ajax({ url: "/javascript/testing.js"}) .done(function(data){
我是一名优秀的程序员,十分优秀!