0

我在使用 Safari 时遇到了一些问题。

  1. 虽然所有浏览器都可以正常显示页面,但 Safari 在主 ContentPlaceholder 上方添加了一个巨大的白色区域,如下图所示。这发生在每个页面上,所以我猜问题出在母版页上,但我不知道如何解决它。

  2. 菜单上方的一些额外填充也存在一个小问题(Chrome 中也是如此)

我会很感激任何帮助。提前致谢。

所有浏览器

苹果浏览器

这是我的母版页:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head runat="server">
<title></title>
<link href="~/Styles/Site.css" rel="stylesheet" type="text/css" />
<asp:ContentPlaceHolder ID="HeadContent" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form runat="server">
<div class="page">
    <div class="header">
        <div class="title">
            <h1>
                My ASP.NET Application
            </h1>
        </div>
        <div class="loginDisplay">
            <asp:LoginView ID="HeadLoginView" runat="server" EnableViewState="false">
                <AnonymousTemplate>
                    ................
                </AnonymousTemplate>

                <LoggedInTemplate>
                    ................
                </LoggedInTemplate>
            </asp:LoginView>
        </div>
        <div class="clear hideSkiplink">
            <asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal">
                <Items>
                    ................
                </Items>
            </asp:Menu>
        </div>
    </div>
    <div class="leftMenu">
        <asp:ContentPlaceHolder ID="LeftMenuContent" runat="server"/>
    </div>
    <div class="main">
        <asp:ContentPlaceHolder ID="MainContent" runat="server"/>
    </div>

    <div class="clear">
    </div>
</div>
<div class="footer">

</div>
</form>

这是源代码和 CSS:http: //jsfiddle.net/V5aCa/6/

4

2 回答 2

1

这是因为您使用的display:table safari 对其他浏览器的处理方式不同

看看这个问题:

Safari 5.1 打破 CSS 表格单元格间距

或尝试使用border-box

CSS 宽度是否包括填充?

由于跳过导航锚点,您的导航上方的空间出现,如果您绝对定位或浮动它,您的空间应该消失

于 2013-02-04T11:29:54.987 回答
0

尝试重置浏览器的边距和填充。

body {
      margin: 0px;
     padding: 0px;
}

这应该迫使 safari 从您的设定值开始,而不是建立在其默认值上。

于 2013-02-04T11:29:15.673 回答