我基本上只是对此感到好奇,因为我一直都在看,而且我所说过的人似乎都不知道是否有解决方案。
通常情况下,当我看到它的时候看起来像<a>
按钮上有背景,是显示块或内联块。
问题是这样的:假设你在div中有一个具有特定宽度的按钮,比方说160px
,你有一个显示块或内嵌块<a>
,如果文本<a>
里面的<div style="width: 160px; padding: 10px; background: blue;">
<a href="#" style="background: red; display: block;">Test with a longwrappingword</a>
</div>
不能像你期望的那样整合在一条线上,但现在它在两条线上它不再需要占据div的全宽,但确实如此!
我发现这种情况并不令人感到意外,但我想知道是否有人知道CSS甚至是JavaScript解决方案来解决这个问题?
代码:
{{1}}
答案 0 :(得分:2)
this是否适合您?
<div style="width: 160px; padding: 10px; background: blue;">
<a href="#" style="background: red; display: table; width: 1%">Test with a longwrappingword</a>
</div>
<span style="padding-left:130px">^ Where the element COULD end if it wanted to</span>
答案 1 :(得分:1)
这是你的意思吗?
<div style="width: 160px; padding: 10px; background: blue;">
<a id="block" href="#" style="background: red; display: block;">Test with a longwrappingword</a>
</div>
<script>
var $block = $('#block');
var orig = $block.html();
var index = orig.lastIndexOf(' ') || -1;
var longword = orig.substring(index + 1, orig.length);
$block.html(orig + longword);
var wanted_width = $block[0].scrollWidth / 2;
$block.html(orig);
$block.width(wanted_width);
</script>
答案 2 :(得分:0)
<div style="width: 160px; padding: 10px; background: blue;">
<a href="#" style="background: red; display: block; width: 100px;">Test with a longwrappingword</a>
</div>