我有一个宽度为 200 像素的 div,溢出设置为隐藏。在 Firefox、Safari 和 IE 中,选择遵循样式规则并正确显示。但是在 chrome 中,选择元素不遵循规则集并流过 div。
该网站位于http://conaty.hailstormcommerce.com/index.php?route=product/category&path=20
这个问题与 select 元素的背景属性有关。
我有一个宽度为 200 像素的 div,溢出设置为隐藏。在 Firefox、Safari 和 IE 中,选择遵循样式规则并正确显示。但是在 chrome 中,选择元素不遵循规则集并流过 div。
该网站位于http://conaty.hailstormcommerce.com/index.php?route=product/category&path=20
这个问题与 select 元素的背景属性有关。
除了 Diodeus 答案之外,您还为此元素指定了 220px 的最小宽度。
做这个:
width:100%;
min-width:0;
SELECT
已知行为是这样的。它的行为更像是操作系统中的控件,而不是 HTML 中的元素(单选按钮和复选框也是如此)。您所能做的就是对宽度进行硬编码以防止其溢出。
我认为您可能在问题中错误地描述了该问题。
select
看起来您正在尝试为元素创建自定义下拉箭头。该select
元素是您设置的正确宽度,并且溢出被 div 隐藏。但是,在 Chrome 中,它select
有一个白色背景,覆盖了您的自定义箭头,并且不受您的background: transparent !important;
声明的影响。
要解决此问题,以便您的自定义箭头显示出来,您只需添加-webkit-appearance: none;
如下:
.selectContainer select {
background: transparent !important;
cursor: pointer;
-webkit-appearance: none; /* add this */
}