【问题标题】:Prevent Overlapping div's in CSS防止在 CSS 中重叠 div
【发布时间】:2017-04-18 04:17:25
【问题描述】:

我正在尝试使用 CSS 制作一个页面,其中 div 的内容不会相互重叠。当 ma​​in div(白色区域)内容溢出时,会出现滚动条,您可以滚动浏览侧边栏和标题的内容(忽略红线文本...这只是我的调试信息)。

我没有将 CSS 与 HTML 分开,所以我为混乱的布局道歉。 div 中的样式标签是我用来在页面上定位内容的。

此代码可在https://jsbin.com/gesuser/edit?html 以及本文底部找到。

如何防止主 div 滚动到标题和侧边栏上?我可以使用框架来做到这一点,但我宁愿不使用那种旧技术。 :)

应该是这样的: 而不是这样:

任何帮助将不胜感激。

    <div class="container">
        <div class="header" style="position: fixed; width: 100%; height: 50px; background-color: #133068;">
            <div id="appname" style="float: left;">
                <a href="index.php"><label style="position: relative; top: 12px; left: 5px; font: bold 20pt/22pt 'Syncopate', Arial, sans-serif; color: white;">Bluebook</label></a>
            </div>

            <div id="searchbar" style="position: fixed; float: right; top: 12px; right: 20px;">
                <form id="" name="form_Search_All" action="search.php" method="post">
                    <input type="text" id="text_Search" style="width: 350px;" name="text_Search" placeholder=" search all departments" />
                    <input type="submit" name="btnSearch_All" value="+" />

                    <input type="radio" id="radio_Search_BB" name="radio_Search" value="BB" checked /><label style="color: white;">BB</label>
                    <input type="radio" id="radio_Search_RC" name="radio_Search" value="RC" /><label style="color: white;">RC</label>
                </form>
            </div>
        </div>

        <div class="sidebar grad" style="position: fixed; top: 50px; width: 200px; height: 100%; background-color: #4e6799; z-index: -1;">
            <div class="btn-group" style="position: relative; top: 20px;">
                <?php if ($site->IsAdmin ()) : ?>
                    <a href="logout.php"><button class="button">ADMIN LOGOUT</button></a>

                <?php else : ?>
                    <a href="login.php"><button class="button">ADMIN LOGIN</button></a>

                <?php endif; ?>

                <a href="index.php"><button class="button">SEARCH PAGE</button></a>
            </div>

            <div id="version" style="position: absolute; bottom: 50px; margin: 5px; font: bold 9pt/11pt Arial; color: #9a9797;">
                <label>Version 2.0.0</label>
            </div>
        </div>

        <div class="main" style="position: absolute; top: 60px; left: 210px;">
            <?php $tpl->Component (); // this outputs tables of data ?>
        </div> <!-- main -->

    </div> <!-- container -->

【问题讨论】:

  • 你能在演示中只显示 HTML 和 CSS 吗?托管或使用 JSBin 的地方?
  • 你为什么要在 DOM 中内联你的 CSS ???
  • 好的。这是 JSBin 上的代码:jsbin.com/gesuser/edit?html

标签: html css overlap


【解决方案1】:

不要对主 div 使用绝对位置。使用相对并为其添加边距:

<div class="main" style="position: relative; margin-top: 60px; margin-left: 210px;">
    <?php $tpl->Component (); // this outputs tables of data ?>
</div> 

【讨论】:

    猜你喜欢
    • 2020-10-31
    • 2017-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多