【问题标题】:CSS | Footer with LogoCSS |带徽标的页脚
【发布时间】:2016-07-03 11:32:05
【问题描述】:

嘿,我刚开始在工作中学习 HTML。因此,我开始为一家假公司制作网站。我制作了带有徽标的导航和侧边导航。 但只有页脚我遇到了问题,因为它不是连续的。

HTML 代码:

<div id="footer">
 <ul class="footer">
  <li class="fuss"><a href="#">AGB</a></li>
  <li class="fuss"><a href="#">Impressum</a></li>
    <div class="wortmarke">
     Caf&eacute; Villa Bernstein
      <p class="copyright">
        &copy; Caf&eacute; Villa Bernstein. All rights reserved.   
      </p>
    </div>
  <li class="fuss"><a href="#">Datenschutz</a></li>
  <li class="fuss"><a href="#">Pressenews</a></li>
 </ul>
</div>

CSS:

/* Footer */
ul.footer {
 list-style-type: none;
 margin: 0;
 padding: 0;
 overflow: hidden;
 background-color: #333;
 position: fixed;
 bottom: 0;
 width: 100%; 
}

li.fuss {
  float: left;
  width: 10%
}

li.fuss a {
  display: block;
  color: white;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}

.wortmarke {
  color: #ffc995;
  font-size: 150%;
  text-align: center;
  width: 40%; 
}

p.copyright {
 font-size: 40%;
 margin: -4%;
 color: white;
}

如您所见,我在 Impressum 和 Datenschutz 之间有 4 个链接(AGB、Impressum、Datenschutz 和 Pressenews),我想在“© Café Villa Bernstein”下方添加徽标文字“© Café Villa Bernstein。保留所有权利。” .问题是当我连续删除“徽标文本”时。 当我添加“徽标文本”时 - 2 个链接“Datenschutz”和“Pressenews”跳转到下一行

Here you can see my Problem

现在只有一件小事我忘了问。我想要 2 个链接(AGB & Impressum 和 Datenschutz & Pressenews)之间的白色边框。当我在 Datenschutz 的左侧添加 border-right: 1px solid white 时,缺少一个白色边框。所以,我加了border left: 1px solid white。但随后 AGB & Impressum 和 Datenschutz & Pressenews 之间的边界越来越大。我现在的问题是:我如何在所有元素之间获得相同的边框

Fat Border between 2 Navigation

【问题讨论】:

  • 我不反对你的新手。在页脚中写更多你的问题和你想要什么
  • 如您所见,我在 Impressum 和 Datenschutz 之间有 4 个链接(AGB、Impressum、Datenschutz 和 Pressenews),我想在“©Café”下方添加徽标文本“Café Villa Bernstein”伯恩斯坦别墅。保留所有权利。”。问题是当我连续删除“徽标文本”时。当我添加“徽标文本”时 - 2 个链接“Datenschutz”和“Pressenews”跳转到下一行
  • &lt;ul&gt; 内使用 div 不是一个好习惯,要么使用 li 或使用 div 而不是 ul 并在 div 内创建 span
  • 尝试将 float:left 添加到 .wortmarte 类
  • @Bardo 非常感谢!就是这样,现在我想把整个事情放在中心

标签: css footer


【解决方案1】:

我所做的是:

li.fuss {
  float: left;
  width: 15%
}

现在所有 li 和中间的 div 可以“覆盖”整个页脚(4*15% + 40% = 100% 宽度)。

我还在 .wortmarke 中添加了 float:left :

.wortmarke {
  color: #ffc995;
  font-size: 150%;
  text-align: center;
  width: 40%; 
  display:inline-block;
  float:left;
}

这样它就会与 li 的其余部分一起浮动。

最后,彻底删除这个块:

ul li:nth-child(4), ul li:nth-child(5) {
  float:right;
  margin-right: 20px;
}

因为它是不必要的,不响应并且不支持跨浏览器兼容性

【讨论】:

  • 谢谢,这个版本比其他版本更适合我使用 :) 现在只有一件小事我忘了问。我想要 2 个链接(AGB & Impressum 和 Datenschutz & Pressenews)之间的白色边框。当我在 Datenschutz 的左侧添加“border-right: 1px solid white”时,缺少一个白色边框。所以,我添加了“左边框:1px 纯白色”。但随后 AGB & Impressum 和 Datenschutz & Pressenews 之间的边界越来越大。我现在的问题是:我如何在所有元素之间获得相同的边框
  • 你应该创建 css 类。通常建议在 HTML 元素中使用多个类,以便更好地描述它们的作用。例如:.border-right{border-right: 1px 纯白; } .border-left{ 左边框:1px 纯白色;并在 AGB 上使用第一个,在 Datenschutz 上使用第二个
【解决方案2】:

首先在列表里面使用DIV并不是一个好主意。但我只是稍微更正了您的代码,并将解释为什么它的行为如此。

您的问题是 div 标签默认为 display: block; 而 list 为 display:inline; 这意味着 div 想要整行,这就是为什么“Datenschutz and Pressenews”被移走的原因。

您需要将显示样式更改为inline-block; 并添加float:right 到 “Datenschutz 和 Pressenews”。

查看工作Fiddle

【讨论】:

  • 如果你告诉我如何让中间居中我很高兴 :)
  • 在您的情况下,您可以调整 li 元素的宽度百分比,使徽标居中,请看下面的答案。向元素添加浮点数使其自动显示:内联;所以下面的答案也很好。
猜你喜欢
  • 2014-09-18
  • 2021-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-24
  • 2020-07-06
  • 1970-01-01
相关资源
最近更新 更多