【问题标题】:Weird line appearing out of nowhere?奇怪的线条突然出现?
【发布时间】:2014-06-13 10:55:58
【问题描述】:

我的网络应用程序的列表项之间出现了一条奇怪的黑色小水平线。我使用 HTML、CSS、ruby 和 sinatra 创建了它。我不确定它们来自哪里,并且查看了开发工具,但仍然无法找到任何东西。

图片:

HTML/Ruby:

 `<h2>All Contacts</h2>


<% num = @@rolodex.counter %>
<% if num == 1 then number = "contact" %>
<% else number = "contacts" %>
<% end %>

<h2>You have <%= "#{@@rolodex.counter} #{number}" %>.</h2>

<ul class="contacts-list">
    <% @@rolodex.contacts.each do |contact| %>
        <a href="/contacts/<%= contact.id %>" class="hover">
            <li class="contactcards"> 
            <%= contact.first_name %> <%= contact.last_name %> <hr> 
            <%= contact.email %> <br> 
            Note: <%= contact.note %> <br> 
            ID: <%= contact.id %>
            </li>
        </a>
    <% end %>
</ul>`

CSS:

.contactcards {
    min-width: 200px;
    width: 24%;
    height: 100px;
    background-color: slategray;
    display: inline-block;
    margin-top: 30px;
    text-align: center;
    opacity: .7;
    list-style-type: none;
    color: white

所有联系人列表都是文本居中对齐。

还应注意,该行仅在页面上存在多个联系人时可见(也就是在将新联系人输入到 rolodex 之后)。我不知道那条线是从哪里来的。对此的任何帮助将不胜感激。

【问题讨论】:

  • 发布 html & css 或 jsfiddle
  • 我编辑了帖子以包含相关页面上的所有 HTML。唯一相关的 CSS 是我发布的那个
  • 作为后续,当从 HTML 中删除链接时,该行会消失。我不知道这是为什么。有什么原因吗?

标签: html css ruby sinatra


【解决方案1】:

来自fine &lt;ul&gt; specification

允许的内容

零个或多个li 元素。

这可能看起来像 HTML:

<ul>
  <a>
    <li>...</li>
  </a>
</ul>

但事实并非如此。唯一可以作为&lt;ul&gt; 直接后代的是&lt;li&gt;,因此结构必须为:

<ul>
  <li>
    <a>...</a>
  </li>
</ul>

当浏览器看到无效的“HTML”时,它通常会在呈现之前尝试更正它以匹配规范。这个修正过程可能会引入额外的&lt;li&gt;&lt;ul&gt; 元素,这可能就是神秘黑线的来源。

【讨论】:

  • 这就解释了为什么移除锚点会移除线。谢谢你。它与格式有点混乱,但该行已被删除。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-16
  • 2015-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-18
  • 2012-11-06
相关资源
最近更新 更多