【问题标题】:text-align: center is not effecting display: inline-block文本对齐:中心不影响显示:内联块
【发布时间】:2012-07-26 04:41:02
【问题描述】:

我对此很陌生,所以如果我需要更具描述性,请原谅我。我的网站上有一个副标题,我希望以标题为中心。但是,我也想给字幕一个底部边框。我希望边框与字幕的长度相同,所以我想我会显示:inline-block 和 text-align: center。然后,通过底部边框应用。但是,它不起作用。字幕保持与左侧对齐。我在下面附上了我的 HTML 和 CSS:

My HTML

My CSS

What my page currently looks like

【问题讨论】:

  • 为了将来参考,您应该在问题中发布您的代码,而不是图片链接。它可以更容易地复制代码 sn-ps 以查看问题所在。在你的情况下,这没关系,因为它们很短,但尽量不要养成坏习惯;)

标签: html css web


【解决方案1】:

我想你正在寻找这个:SEE DEMO

通过应用 padding-bottom,您可以实现这一点。

CSS:

h2 {
    font-family: Georgia;
    font-style: italic;
    font-size: 25px;
    color: black;
    padding-bottom:5px;
    border-bottom: 1px solid #000;
    display: inline-block;    
}

【讨论】:

  • 就是这样!谢谢!谢谢!
【解决方案2】:

解决问题的快速方法是删除 display: inline-block;border-bottom 并添加 text-decoration: underline 属性。 Check this JSFiddle查看结果。

【讨论】:

  • 谢谢!我正在考虑这一点,但我希望下划线远离文本。这就是为什么我想我会使用边框并给它一个上边距。有什么办法吗?
  • @KenFedor 好吧,我不赞成这种方法,但jsfiddle.net/HPLFt 还有另一个 jsfiddle 可以满足您的要求。它涉及给 h2 一个宽度并将其设置为 margin: 0 auto (居中)。这很糟糕,因为如果您更改文本或字体大小,您也必须更改宽度。然后添加 padding-bottom 以更改条与文本的距离。
  • 好的,我会玩它的!非常感谢你这么晚给我答复,哈哈。
  • 同意。 @A.K 的回答比我的好。
【解决方案3】:

您需要将text-align: center 应用于包含h2 而不是h2 本身的块,因为当元素已变为内联块时(为了将其宽度设置为所需的最小宽度按内容),将其内容居中是没有用的。 (这只会使包含在与文本宽度相同的框中的文本居中。)

问题可以简化为:

<!DOCTYPE html>
<style>
h2 {
  display: inline-block;
  border-bottom: 1px solid black;
  text-align: center;
}
</style>
<hgroup>
<h1>Ken Fedor</h1>
<h2>Designer. Developer. Dreamer.</h2>
</hgroup>

这里的解决方法是在样式表中添加以下内容:

hgroup {
  text-align: center;
}

(这就是 A.K 的答案中的 jsfiddle 演示起作用的原因:这段代码在那里,但答案文本中没有提到。填充的使用与问题无关。)

【讨论】:

    【解决方案4】:

    只给text-decoration:underline;而不是border-bottom;

    HTML

    <h1>tittle</h1>
    <h2>subtittle</h2>
    

    CSS

    h1 {
    text-align:center;
    }
    
    h2 {
    text-align:center;
    text-decoration:underline;
    }
    

    查看演示:- http://tinkerbin.com/7LQqmXkZ

    更新答案

    您可以使用h2 下的span标签并将border-bottomspan 标签而不是给padding-bottom 所以我希望你能得到你想要的结果....

    HTML

    <h1>tittle</h1>
    <h2><span>subtittle</span></h2>
    

    CSS

    h1 {
    text-align:center;
    }
    
    h2 {
    text-align:center;
    }
    
    h2 span {
    border-bottom:1px solid red;
    padding-bottom:5px;
    }
    

    http://tinkerbin.com/gUQO8U7u

    【讨论】:

    • 也谢谢您!就像我正在考虑的那样,但我希望下划线远离文本。通过应用上边距或其他方式。这可能吗?
    • @Ken Fedor:通过应用填充可以实现这一点,请参阅我的答案。
    猜你喜欢
    • 1970-01-01
    • 2022-12-21
    • 2011-06-26
    • 2012-09-11
    • 1970-01-01
    • 2019-03-02
    • 1970-01-01
    • 2012-07-20
    • 1970-01-01
    相关资源
    最近更新 更多