html - 让 <DIV> 垂直拥抱文本内容

标签 html css

我正在尝试让 div 元素尽可能紧密地拥抱内容。通过使用 display:inline-block 这对于宽度来说效果很好,但是高度总是有一些额外的 padding/margin/border 。如何让父 div 准确地换行文本?我可以通过合理选择 line-height 来获得它,但这仅适用于特定的字体和大小。

对于任何输入字体或大小,如何让下面的红色框尽可能接近地包裹文本?

示例:

enter image description here

jsfiddle ,带有CSS代码

.outer {
    display:block;   
    background:red;
}
.hug {
    font-size:200%;
    margin:0em;
    border:0em;
    padding:0em;
}

和 html:

<div class="outer">
    <div class="hug">
        <h1>PERFECT FIT</h1>
    </div>
</div>
<div class="outer">
    <div class="hug">
        <h2>PERFECT FIT</h2>
    </div>
</div>

CSS、CCS3 解决方案优先于 JavaScript,除非不可能。

最佳答案

我最终得到了一些不错的结果。如果你改变字体大小,行高可以根据需要保持不变并且非常接近......它需要精确到像素吗?

.thisone{
  display:inline-block;   
  background:#09f;
  min-width:1px;
  font-family:arial;
  width:auto;
  font-size:70px;
  line-height:.70em;
}

DEMO

关于html - 让 <DIV> 垂直拥抱文本内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21520612/

相关文章:

html - Excel VBA 自动加载 IE 文件

html - 使链接粘在文本字段上

HTML 表格文本对齐(tbody 适配 thead)

html - 是否可以将菜单保存为 css

javascript - 如何判断浏览器是否支持https资源

javascript - 仅基于 CSS 的水平多级菜单

html - 添加文本时居中的 Div 垂直移动

javascript - 如何设置 <div> 的宽度以适应等宽字体中恒定数量的字母?

android - 无法从 URL 获取 html 代码

html - 我需要在这里更改我的 CSS 什么