html - Div 大小的变化取决于我使用的是 "div"还是 "link_to"

标签 html css ruby-on-rails

我为网站的导航页面创建了可点击的 div。如果我遵循第一种方式的语法,则 div 具有正确的宽度 (60px),但如果我采用第二种方式,则它只有 44px。我需要使用第二种方式。为什么会有大小差异?

编辑:我刚刚还注意到,如果我使用第二种方式,字母前后似乎没有间距。也许与填充有关..

第一种方式

<div id="item_2", onclick="location.href='http://www.facebook.com';" style="cursor:pointer;"> About </div>

第二种方式

<%= link_to "http://www.facebook.com", id:"item_2" do %> About <% end %>

CSS

#item_2 {
    width: 60px;
    padding-top: 11px;
    padding-bottom: 11px;
    text-decoration: none;
}

最佳答案

问题将出在 CSS 上,正如评论中所指出的,可能是由于您的 a 标签在您的 CSS 其他地方有一些默认宽度造成的

试试这个:

<%= link_to "About Us", "http://facebook.com", id: "item_2" %>

#item_2 {
    display: inline-block;
    width: 60px !important;
    padding-top: 11px;
    padding-bottom: 11px;
    text-decoration: none;
}

您还需要知道的是 diva 标签在默认情况下的工作方式不同(div 是一个 block ,而 a 被视为一个跨度)。我已经尝试为此寻找引用资料,并且 this Wikipedia是我能找到的最好的

另一件事是 id 样式不会取代 class 样式。这只是一种专门识别元素的方法。所以你可能有类样式(在 diva 类上),这将优先

关于html - Div 大小的变化取决于我使用的是 "div"还是 "link_to",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23622554/

相关文章:

html - 如何选择两个 <div> 标签中的图像?

javascript - Skype 按钮 : How to prevent vertical space

html - 防止 div 重叠为堆叠的 div 格式

javascript - 如何在 Javascript 中生成随机柔和(或更亮)的颜色?

jquery - Chrome "Find"中断滚动条

javascript - 寻找嵌入式报告解决方案

html - ApplicationCache 和离线时的错误

python - 使用 Python 进行 HTML 解析

ruby-on-rails - Devise token auth 无法验证 CSRF token 的真实性

ruby-on-rails - 如何在 Rails 中生成连接表