Html 如何使滚动条在屏幕上居中的同时显示在DIV上?
我正在设计一个无序列表的样式,其结构是Html 如何使滚动条在屏幕上居中的同时显示在DIV上?,html,css,html-lists,scrollbar,center,Html,Css,Html Lists,Scrollbar,Center,我正在设计一个无序列表的样式,其结构是 <div class="select-styled active">Arizona</div><ul class="select-options" style="display: block;"><li rel="">Select State</li><li rel="3526">Alabama</li><li rel="3556">Alaska</li&
<div class="select-styled active">Arizona</div><ul class="select-options" style="display: block;"><li rel="">Select State</li><li rel="3526">Alabama</li><li rel="3556">Alaska</li><li rel="3547">Arizona</li><li rel="3510">Arkansas</li><li rel="3542">California</li>…<li rel="3554">Wyoming</li></ul></div>
但是现在没有办法滚动了。这是我的JSFIDLE--。我怎样才能将我的项目集中在屏幕中央,并在无序列表上有一个滚动条,这样我就可以看到所有项目?我刚刚更新了你的JSFIDLE 只需将高度和溢出量添加到#profileContainer中即可
希望这对你有帮助 我刚刚更新了你的JSFIDLE 只需将高度和溢出量添加到#profileContainer中即可
希望这对你有帮助 我想我已经完成了你想要的: 您只需对无序列表应用一些样式:
ul.select-options {
max-height: 15em;
overflow-y: scroll;
overflow-x: hidden;
}
通过使用
em
(或rem
)单位而不是px
,您可以保留对选择更改字体大小的用户的支持,我注意到您在另一个答案的评论中表示了兴趣。您可以将15em
任意选择的乘数更改为您认为合适的任何数字。你也可以考虑使用<代码> REM 而不是<代码> EM >代码>,但是你必须自己决定最终的用例。如果将padding
定义更改为同时使用em
或rem
,则可以使用数学设置大小,以始终在下拉列表中显示一定数量的元素。我想我已经完成了您想要的:
您只需对无序列表应用一些样式:
ul.select-options {
max-height: 15em;
overflow-y: scroll;
overflow-x: hidden;
}
通过使用em
(或rem
)单位而不是px
,您可以保留对选择更改字体大小的用户的支持,我注意到您在另一个答案的评论中表示了兴趣。您可以将15em
任意选择的乘数更改为您认为合适的任何数字。你也可以考虑使用<代码> REM 而不是<代码> EM >代码>,但是你必须自己决定最终的用例。如果将padding
定义更改为同时使用em
或rem
,则可以使用数学设置大小,以始终在下拉列表中显示一定数量的元素。以下是您的要求
.select {
overflow: auto;
overflow-x: hidden;
overflow-y: scroll;
-webkit-transform: translateX(calc(50% + 110px));
transform: translateX(calc(50% + 110px));
}
描述
我将溢出添加到.select类,然后使用转换将其居中。希望这能满足您的需求。这是您对您需求的回应
.select {
overflow: auto;
overflow-x: hidden;
overflow-y: scroll;
-webkit-transform: translateX(calc(50% + 110px));
transform: translateX(calc(50% + 110px));
}
描述
我将溢出添加到.select类,然后使用转换将其居中。希望这能满足您的需要。现在我想我理解了您的要求,添加第二个答案。我诚恳地鼓励你先回顾一下我的另一个答案,我想你会发现这是一个更好的选择 滚动div.profileField小提琴: 通过以下CSS实现:
div.profileField {
width: 100%;
height: 100%;
overflow-y: scroll;
overflow-x: hidden;
box-sizing: border-box;
}
补充第二个答案,我想我理解你的要求。我诚恳地鼓励你先回顾一下我的另一个答案,我想你会发现这是一个更好的选择 滚动div.profileField小提琴: 通过以下CSS实现:
div.profileField {
width: 100%;
height: 100%;
overflow-y: scroll;
overflow-x: hidden;
box-sizing: border-box;
}
你是不是想达到这样的目标
.select-options{ height:60%; overflow-x: hidden;} Add this properties in same class
您是否正在尝试实现这样的目标
.select-options{ height:60%; overflow-x: hidden;} Add this properties in same class
找到不同的定心方法吗?菜单是否会被困在页面的中间?也许是
absolute
而不是'fixed'。但是你的包装器正在崩溃。我将值从“fixed”更改为“absolute”,尽管我现在可以滚动,整个屏幕都是滚动的,而不仅仅是我希望滚动条出现的DIV。-@Mike我读了你的评论后意识到,你似乎希望DIV在内部滚动。我想你会发现我的答案是一个更用户体验友好的解决方案,而不是滚动整个包含div。找到一个不同的居中方法吗?菜单是否会被困在页面的中间?也许是absolute
而不是'fixed'。但是你的包装器正在崩溃。我将值从“fixed”更改为“absolute”,尽管我现在可以滚动,整个屏幕都是滚动的,而不仅仅是我希望滚动条出现的DIV。-@Mike我读了你的评论后意识到,你似乎希望DIV在内部滚动。我想你会发现,与滚动整个包含div相比,我的答案是一个用户体验更友好的解决方案。它不是一个添加固定高度的选项,因为容器中的元素数量可变,我不想经常调整固定高度(当用户调整字体大小时,也会影响其他元素的显示).我用你的Overfow-调整了小提琴,但菜单仍然没有延伸到带有滚动条的容器边界之外。这不是添加固定高度的选项,因为容器中的元素数量可变,我不想经常调整固定高度(当用户调整字体大小时,也会影响其他元素的显示)。我用Overfow--调整了小提琴,但菜单仍然没有延伸到带有滚动条的容器边界之外。容器上有滚动条,但我只希望元素上有滚动条(带状态的DIV)在其扩展形式中。我尝试将“overflow:scroll;”添加到预期的元素中,但没有显示滚动条--。您在容器上有滚动条,但我只希望滚动条以扩展形式显示在元素(带状态的DIV)上。我尝试添加“overflow:scroll;”到指定的元素,但没有出现滚动条--。是的,taht正是我要找的。谢谢!是的,taht正是我要找的。谢谢!