如何让滚动条在面板中显示并成功运行?

时间:2011-08-25 16:21:46

标签: c# asp.net html

我对asp很新,我试图理解为什么这不起作用。

我尝试做的是在页面中设置一个面板,该面板在页面上同时包含水平和垂直滚动条。 页面设置如下:

标题

小组: 中间是大量的文字语句以及带有锚标记以及返回顶部锚标记的标题,以及一些图像。

然后是一个页脚。

所有这一切都有效。

但是,当我在浏览器中打开页面时,面板上没有滚动条。这导致仅显示面板之间的前1000px左右的语句。此外,如果您单击页面顶部的其中一个锚标记,它将指向面板的另一部分。这是我想要它做的,但是,它只会显示该部分的开头,然后以某种方式溢出并覆盖页面的页脚。

<body style="background-color:#C9E8FF; overflow:hidden; width:100%; height:100%">
    <asp:Panel ID="Panel1" runat="server"  Width="100%" Height="100%"
    ScrollBars="Both" style="margin-right: 145px">

html / asp inbetween panel。

</asp:Panel>
</body>

我认为这个问题与声明高度的方式有关,但即使我高度确定我需要的精确px值,或者只是不包括高度,我仍然有上述相同的问题。 这是我正在使用的面板。

我想知道的是,为什么这个面板无法正常工作以及如何解决它的原因。

非常感谢任何建议的帮助。

3 个答案:

答案 0 :(得分:2)

我将100%宽度和高度应用于body和html元素,并将边距设置为0.

我还添加了一些javascript来添加一些虚拟内容。

希望它有所帮助。

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            var html = ''
            for (i = 0; i < 100; i++) {
                html += 'Some default content...<br/>';
            }
            $('#content').html(html);
        });
    </script>
    <style>
        html, body
        {
            margin:0px;
            width:100%;
            height:100%;
            overflow:hidden;
            background-color:#C9E8FF;
        }
    </style>
</head>
<body>
    <asp:Panel ID="Panel1" runat="server"  Width="100%" Height="100%"
    ScrollBars="Both" style="margin-right: 145px">
        <div id="content"></div>
</asp:Panel>
</body>
</html>

答案 1 :(得分:1)

我将面板放在一个常规div中,并将样式设置为div溢出:scroll。

当面板的宽度超过div的宽度时,应自动为您创建滚动条。 See here a little example.

答案 2 :(得分:0)

删除溢出:隐藏于CSS样式html,body。

因为这会隐藏页面上的任何溢出或滚动条。

此致 阿贾伊