【发布时间】:2017-01-24 19:39:18
【问题描述】:
在我的 select2 代码中,我使用 templateResult 将文本包装在 <span class="full-width">text</span> 中。我还附加了一个 Bootstrap 弹出窗口。 full-width 是具有 width: 100%' 的类。但是,它并没有占据下拉列表的整个宽度,这一事实证明,弹出框仅在光标位于实际文本上时发生,而不是文本右侧的空白处。当我查看检查器时,包含它的 <li class="select2-results__open"... 是 166x32(周围有 6px 填充),但实际的 <span class="full-width">text<span> 只有 56x16,没有填充、边距或边框。我怎样才能让它占据整个宽度?
根据要求,这里是 templateResult 函数(在 CoffeeScript 中,因为这就是这个项目的内容)
templateResult: (data) ->
# Get the select data
text = data.display_name || data.name || data.text
ret = $(
"<span class=\"full-width\"
>#{text}</span>"
)
if data.description
ret.popover({
trigger: 'hover',
container: 'body',
html: true,
content: data.description,
title: data.title || '',
placement: data.placement || 'auto right',
})
ret
还有 CSS
.full-width: {
width: 100%;
}
【问题讨论】:
-
你的代码在哪里?
-
除了上面显示的 CSS "width: 100%" 和 templateResult 之外,实际上没有任何代码可以显示。你能想到什么其他有用的吗?
-
所有这些都是引用一个选择框,不是吗?如果您为我们显示问题创建它会有所帮助。 stackoverflow.com/help/mcve
-
它是select2,根据标签。
标签: css twitter-bootstrap jquery-select2