如何在引导程序中正确对齐品牌形象

Posted

技术标签:

【中文标题】如何在引导程序中正确对齐品牌形象【英文标题】:How to properly align a brand image in bootstrap 【发布时间】:2016-04-02 16:42:21 【问题描述】:

它不是this 的副本。这个问题是关于用图像替换文本徽标。这个问题是关于在文本徽标之外放置图像。

我有以下引导代码,它试图显示站点徽标及其名称。我正在使用引导类 navbar-brand 这样做:

<div class="navbar navbar-inverse navbar-fixed-top">
    <div class="container-fluid">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="./EnterpriseCopy_files/EnterpriseCopy.html">
                <img src="./EnterpriseCopy_files/android-icon-48x48.png">
            </a>
            <a class="navbar-brand" href="./EnterpriseCopy_files/EnterpriseCopy.html">Enterprise Copy</a>
        </div>
        <div class="navbar-collapse collapse">

标志最终看起来像这样:

然后我必须将style="margin-top:-13px" 添加到img 标签中,以便将图像向上推并使其看起来不错:

这不是正确的做法。有没有更好的方法来做到这一点?

原始代码here,其中一个带有样式调整here。

【问题讨论】:

Bootstrap 3 Navbar with Logo的可能重复 你检查我的答案了吗? @herrh 不,它不是这个的副本。 【参考方案1】:

问题在于.navbar-brand 有填充:

padding: 15px 15px;

它是引导程序的默认样式。所以删除它并给出:

.navbar-brand padding: 0;

你已经准备好了。看截图,我给了padding: 0; 看看它的工作原理:

【讨论】:

这并没有真正起作用,因为您也弄乱了文本徽标的 navbar-brand .. 但它确实引导我找到解决方案,即替换 img 上的 navbar-brand 类带有向左拉的标签。 我弄错了。我看错标签了,抱歉。无论如何,被接受为答案,因为它引导我找到答案。【参考方案2】:

如果想在 navbar-brand 类中添加图像和文本而不是将它们分开,请将 display: inline-block 应用于您的 img,然后调整 navbar-brand 本身的填充以适应所有内容。

.navbar .navbar-brand 
  padding: 2px 15px;


.navbar .navbar-brand img 
  display: inline-block;

查看工作片段。

body 
  padding-top: 50px;
  padding-bottom: 20px;

/* Wrapping element */

/* Set some basic padding to keep content from hitting the edges */

.body-content 
  padding-left: 15px;
  padding-right: 15px;

/* Set widths on the form inputs since otherwise they're 100% wide */

input,
select,
textarea 
  max-width: 280px;

/* Carousel */

.carousel-caption 
  z-index: 10 !important;

.carousel-caption p 
  font-size: 20px;
  line-height: 1.4;

@media (min-width: 768px) 
  .carousel-caption 
    z-index: 10 !important;
  

/**ADDED CSS**/

.navbar .navbar-brand 
  padding: 2px 7.5px;

.navbar .navbar-brand img 
  display: inline-block;

/**ADDED CSS**/
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />
<div class="navbar navbar-inverse navbar-fixed-top">
  <div class="container-fluid">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="./EnterpriseCopy_files/EnterpriseCopy.html">
        <img src="http://vbrad.com/misc/EnterpriseCopy_files/android-icon-48x48.png">Enterprise Copy
      </a>
    </div>
    <div class="navbar-collapse collapse">
      <ul class="nav navbar-nav">
        <li><a href="./EnterpriseCopy_files/EnterpriseCopy.html">Mailbox</a>
        </li>
        <li><a href="./EnterpriseCopy_files/EnterpriseCopy.html">Copy Groups</a>
        </li>
        <li><a href="./EnterpriseCopy_files/EnterpriseCopy.html">Home</a>
        </li>
      </ul>
      <ul class="nav navbar-nav navbar-right">
        <li><a href="https://localhost:44302/#">bar@foo.com</a>
        </li>
        <li><a href="https://localhost:44302/Account/SignOut">Sign Out</a>
        </li>
      </ul>
    </div>
  </div>
</div>

【讨论】:

【参考方案3】:

对我来说,在两个锚元素上设置类 d-inline-blockalign-middle 都有效。我正在使用引导程序 4.3.1。

【讨论】:

以上是关于如何在引导程序中正确对齐品牌形象的主要内容,如果未能解决你的问题,请参考以下文章

如何在引导程序中使用垂直对齐

如何在引导程序中垂直对齐 div 的内容? [复制]

如何在引导程序中左右对齐导航栏的列表项

如何在引导程序中将同一行中的 svg 图标和文本内容对齐到右侧(右对齐)

如何使用引导程序水平对齐组件?

如何在引导程序的中心对齐 YouTube 嵌入视频