- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
任务:
有一个高度可变的框,必须在浏览器窗口中居中。它由三部分组成:- 顶部任意长度取决于里面的文字- 底部有任何长度取决于里面的文字- 如果没有足够的空间容纳文本,则中间部分可滚动
问题:实现我在父 display: flex; 上使用 flexbox 的任务 flex 方向:列;
。顶部和底部都有 flex-shrink: 0;
中间的部分设置为overlow: auto
。由于某种原因,Internet Explorer 11 中没有滚动。溢出属性被完全忽略。在 Firefox 和 Chrome 中运行良好。
截图:
Chrome /火狐:
互联网浏览器 11:
代码:
.wrapper {
position: fixed;
left: 0;
right: 0;
bottom: 0;
top: 0;
display: flex;
align-items: center;
justify-content: center;
}
.box {
display: flex;
flex-direction: column;
max-width: 300px;
max-height: 90vh;
width: 100%;
border: 1px solid red;
}
.top,
.bottom {
flex-shrink: 0;
padding: 10px;
background: #ccc;
}
.scrollable {
overflow: auto;
}
<div class="wrapper">
<div class="box">
<div class="top">I'm any length text</div>
<div class="scrollable">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas lacinia eleifend nisi ac laoreet. Praesent commodo bibendum turpis nec finibus. Aenean ac tincidunt velit. Sed et sodales quam, efficitur viverra erat. Pellentesque aliquet ultrices lectus at vulputate. In pulvinar nec ex sed condimentum. Vivamus vitae vulputate urna. Aliquam lobortis iaculis lacus a dictum. Pellentesque odio mauris, tincidunt sit amet sem dapibus, pretium ornare turpis. In sit amet justo luctus, ultricies nisi eu, iaculis erat. Pellentesque et tempor nibh. Vivamus congue elementum elit, id tempus dolor laoreet sed.
Vestibulum dictum efficitur metus, in consectetur turpis. Vestibulum vel vehicula ante. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nunc congue, odio ac malesuada pharetra, velit nisl facilisis lorem, at tincidunt ex metus volutpat diam. Integer varius dolor at tellus dapibus ultrices. Nulla sagittis purus in mauris vestibulum, ac facilisis turpis condimentum. Ut mattis in ex eu mattis. Nullam ac elit metus. Nullam finibus tempus lacus, sit amet sagittis ante. Morbi sit amet sem a nisi volutpat luctus. Suspendisse eget condimentum dui. Proin suscipit sed sapien a efficitur.
</div>
<div class="bottom">I'm any length footer</div>
</div>
</div>
有什么办法可以解决这个问题吗?那里有什么问题以及如何使 IE 渲染滚动?
最佳答案
IE 有不少bug,忽略min/max-height
就是其中之一。
在这种情况下,我发现在 wrapper
上使用 flex column 方向, 并删除 align-items: center
做的伎俩。
要使其水平居中对齐,请在 box
上使用自动边距
请注意,在 IE 中仍然存在一个缺陷,如果您启动并手动更改浏览器高度,即使文本适合,滚动也不会消失,但如果重新加载页面,它会起作用.我仍在研究这个问题,看看是否可以做些什么来解决这个问题。
堆栈片段
.wrapper {
position: fixed;
left: 0;
right: 0;
bottom: 0;
top: 0;
display: flex;
flex-direction: column;
justify-content: center;
}
.box {
display: flex;
flex-direction: column;
max-width: 300px;
max-height: 90vh;
width: 100%;
border: 1px solid red;
margin: 0 auto;
}
.top,
.bottom {
flex-shrink: 0;
padding: 10px;
background: #ccc;
}
.scrollable {
overflow: auto;
}
<div class="wrapper">
<div class="box">
<div class="top">I'm any length text</div>
<div class="scrollable">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas lacinia eleifend nisi ac laoreet. Praesent commodo bibendum turpis nec finibus. Aenean ac tincidunt velit. Sed et sodales quam, efficitur viverra erat. Pellentesque aliquet ultrices lectus at vulputate. In pulvinar nec ex sed condimentum. Vivamus vitae vulputate urna. Aliquam lobortis iaculis lacus a dictum. Pellentesque odio mauris, tincidunt sit amet sem dapibus, pretium ornare turpis. In sit amet justo luctus, ultricies nisi eu, iaculis erat. Pellentesque et tempor nibh. Vivamus congue elementum elit, id tempus dolor laoreet sed.
</div>
<div class="bottom">I'm any length footer</div>
</div>
</div>
关于html - Internet Explorer 11 中流体 flexbox 容器内的元素出现 "overflow: auto"问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47535687/
.mid{ margin:0 auto; max-width:10em; min-width:5em; border:1px solid red; } ... 此代码创
我想用 制作 4 列元素: 第1列的宽度需要固定为200px。 其他 3 列需要动态划分它们之间的剩余宽度。 Column 1 Fixed 200px Column 2 Fluid Column 3
好的,我看到了 static , fluid , static 布局,但现在我的设计需要fluid, static, fluid 布局。 如: +---------------------------
我有以下 2 列 div 布局。左列需要有 75px 的宽度以容纳图像,但右列需要流入其所有父容器。 这个网格位于一个用户控件中,该控件被添加到多个站点/页面,每个站点/页面都有不同的布局,因此父容器
在此fiddle ,我在 dark-blue 的包装器中有一个图像,我希望它相对于它的包装器水平和垂直对齐 70%。 我尝试使用 table-cell,但它似乎不起作用。 HTML:
在 CSS 中获得此布局的最佳方法是什么?想象一下,我有三个 div,两个 div 在另一个里面。在两个内部 div 中,第一个具有特定的宽度集,第二个 div 预计会占用剩余空间。 通常我会在第二列
我对流体有点陌生,我想在流体中创建以下 php 语句。 if ($var == 'something') { // do something } elseif ($other-var == 's
仅当属性值 fileEn 时,我才尝试输出我的元素为 NULL ( fileEn => NULL ) {file} 然而,这也向我展示了 fileEn 不是 NULL 的元素! 最佳答案
简短的版本:我有一个元素,我需要定义一个 DIV,它将水平重复,然后在空间不足时换行到下一行(类似表格的网格)。我见过提到 jQuery.GridLayout,但演示/主页是 404,所以我不知道这是
我想不通 - 但我相信有人可以...我正在研究将新的流体宽度设置为 100%,并为内容包装器设置最小和最大宽度。 当页眉区域未设置为 overflow:hidden 时会出现问题 - 会出现一个大的水
我正在为一部即将上映的电影设计一个网站,但在让它适应所有浏览器窗口大小和屏幕大小方面遇到了一些问题。本质上,例如初始页面的标记在页面顶部有电影 Logo ,在其下方有一个视频(电影预告片),然后是一个
我正在构建一个由 50% 宽度的 div 和 25% 宽度的 div 组成的流动网站,我遇到的问题是对齐问题,尤其是与 Chrome。 我已经在这里上传了代码:http://tekulated.com
我正在尝试使用 twitter bootstrap 为我的网站做一个垂直的双色调背景(使用 css 渐变),这样渐变在连续流体的跨度之间的排水沟的中心结束。我已经有了渐变代码(如下所示),并且正在尝试
最近开始使用bootstrap,遇到如下问题:出现水平滚动条应该早得多。下面屏幕截图中的红色方 block 显示了表格旁边的空白区域没有填充任何信息,隐藏表/div。 HTML
我正在努力让这个布局稍微流畅一些。我希望#logo 位于#infobot 的右下角,其大小由我想随浏览器窗口缩放的图片决定。 #white 应该只是掩盖#logo 左侧的区域。如何让#white 和#
我们收到了一位客户的奇怪请求。他们想要一个特别的 的内容以图标为中心。居中本身不是问题,图标也不是。 问题是我找不到将 居中的方法s 的宽度可变,图标没有左对齐。 所以我们正在努力实现您在 http
我的网站有后台问题。我们的想法是不使用任何媒体查询,而是将所有内容都设置在 % 上,以便它始终可以在任何设备上查看。 我的问题是,背景图像确实具有适用于 with 的正确 css,但高度由 div 中
我正在对这个站点进行一些样式调整 http://neondataskills.org/ 我添加了一个顶部栏图像,现在,当您调整页面大小时,顶部栏图形如果太宽就会与导航重叠。我想强制图像将导航栏向下推。
我创建了一个带有面板和面板主体的容器。当我在桌面上查看该站点时,它看起来还不错。但是我在手机上看的时候,右边好像有一个很大的空间,什么也没有。 描述问题的图片 http://snag.gy/ApnWS
我有这样的布局: /*Sidebar*/ /*Column1*/ /*Column2*/ /*Column3*/ /*Sidebar*/ 所以现在我想做一个流畅的布局,在台式电脑上看起来不错,但在缩小
我是一名优秀的程序员,十分优秀!