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正是我要找的。谢谢!