css - 不正确的 CSS 按钮高度计算

标签 css image button height integrated

我创建了一个示例来展示我在设置包含图像的按钮样式时遇到的当前问题:

Example (抱歉,我还不能发布图片)

图像 (img) 的高度为 32 像素,但周围 button 的高度为 34 像素,而周围 div< 的高度 是 36 像素。

额外的像素从何而来?!我希望这些按钮的高度为 32 像素,并去掉两个按钮之间的空间。我不想为按钮设置特定的高度(例如 32 像素)。它们应该适应其内容(图像、文本)的大小。


index.html

<!DOCTYPE HTML>
<html >
    <head>
        <meta charset="utf-8"/>
        <style type="text/css">
            div {
                border: 0;
                margin: 0;
                padding: 0;
            }
            button {
                border: 0; 
                padding: 0; 
                margin: 0;
            }
        </style>
    </head>
    <body>
        <div>
            <button><img src="img/site/buttons/32x32/add_user.png"> Benutzer hinzufügen</button>
        </div>
        <div>
            <button><img src="img/site/buttons/32x32/add_user.png"> Benutzer hinzufügen</button>
        </div>
    </body>
</html>

最佳答案

额外的空间来自图像的垂直对齐。

图像的初始对齐方式是baseline。文本下方允许有额外的空间,以便字符低于基线(g、j、q 等)和下划线。因此,将图像与文本的基线对齐会在下方留下一些额外的空间。

试试这个:

img { 
    display:inline-block; 
    vertical-align:middle; 
}

See Fiddle

关于css - 不正确的 CSS 按钮高度计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23943156/

相关文章:

java - 如何使用java远程挂载iso镜像?

java - 显示图像并转换为灰度 - OpenCV for Android, Java API

ipad - 是否可以覆盖 iPad 上 Safari 中按钮的最小宽度?

jquery - 页面加载后淡入按钮

css - 背景尺寸覆盖和背景尺寸 100% 自动之间是否存在性能差异?

html - iframe 是否需要宽度/高度?

html - vuejs 应用程序中的粘性页脚

css - 下拉菜单 CSS

javascript - 测试是否加载了所有图像

android - 可绘制不显示