【问题标题】:Horizontal space between divsdiv之间的水平空间
【发布时间】:2014-04-09 18:07:55
【问题描述】:

我正在为一个学校项目做一个网页,我遇到了这个问题。

我有一个包含标题的 div 和一个带有水平导航栏的 div。在这些 div 之间有一个差距。我已经阅读了我的代码,但找不到原因。

不管我做什么,似乎什么都没有用。

我已经将所有元素的边距/填充设置为 0px,但运气不好。

代码如下:

asp/html

   <html xmlns="http://www.w3.org/1999/xhtml">
<link href="StyleSheet.css" rel="stylesheet" />
<head runat="server">
    <title></title>
    <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>
    <form id="form1" runat="server">
        <div id="wrapper">
            <div id="header">
                <asp:Image ImageUrl="_res/Logo.png" runat="server" />
                </div><div id="menuBar">
                    <asp:Image ImageUrl="_res/menubar.png" runat="server" />
                </div>

                <asp:ContentPlaceHolder ID="cphMain" runat="server">
                </asp:ContentPlaceHolder>


        </div>
    </form>
</body>
</html>

CSS

* {
    margin: 0;
    padding: 0;
}

body {
    background-color: #2e261e;
    background-image:url(_res/sides.png);
    background-repeat:repeat-x;
}

#wrapper {
    width: 960px;
    margin-left:auto;
    margin-right:auto;
}
#header {
    margin:0px;


}

#menuBar {
    margin: 0;

}

我已经尝试过display:block,但什么也没做……抱歉这个措辞非常糟糕的问题。

【问题讨论】:

  • 你能把代码贴出来吗?如果可以使用jsfiddle.net
  • “没有任何效果”...如果您确切地告诉我们您想要达到的目标,将会有所帮助。
  • 显示相关的HTML代码!
  • 我已经编辑了这个问题,我不知道第一个半途而废的问题是什么,我很抱歉。

标签: css .net html margin


【解决方案1】:

答案是在我的 css 文件中将这些 div 的 line-height 属性设置为 0。我不知道 line-height 最初的设置是什么,但它确实有效。

【讨论】:

    【解决方案2】:

    您已经回答了自己,但我想知道您遇到的“差距”是否总是在图片下方?不是块元素,我曾经在底部有一个 1px 的边距,即使边距被重置。我通常需要做一个 display: block on images 来消除 1px 的间隙。

    【讨论】:

    • 我也试过了,但是将 dislpay 设置为 block、inline、block-inline 等并没有为我解决问题,但是是的,我有一个带有水平导航栏的水平标题在它下面。两者之间出现了 1px 的差距。我不确定这是否回答了您的问题。
    【解决方案3】:

    不幸的是,我(个人)从未使用过 ASP。但是,据我所知,您想要做的在标准 HTML 中非常简单。这是我的 HTML 代码:

    <div id="wrapper">
        <div id="header">
            <img src="http://s26.postimg.org/vqdkaohmd/logo.png" />
            </div><div id="menuBar" align="right">
                <img src="http://s26.postimg.org/5tjvy2dyx/lnks.png"/>
            </div>
    </div>
    

    我已经删除了您的“表单”标签,因为我们只需要在您的用户(显然)要使用表单(如登录表单)时才需要它 - 即使这样表单标签也不会遍布整个页面。

    这是一个 JSFiddle:http://jsfiddle.net/gSAW4/1/
    如果您有任何需要我解释或进一步帮助您的事情,请告诉我

    【讨论】:

    • 也许我现在只是很困惑,但是从我的回答中可以看出,与我的代码相比,您的代码没有区别(除了 asp 属性)?我很确定所有 asp 表单都必须包含在表单标签中,才能在服务器端执行。