【问题标题】:Align Sidebar (Which is Placed After Content) to the Left将侧边栏(放置在内容之后)向左对齐
【发布时间】:2011-07-03 23:53:11
【问题描述】:

基本上,我有这样的布局:

<div id="wrapper">
    <div id="header"> HEADER </div>
    <div id="body">
        <div id="table"><div id="tablerow">
        <div id="content"> MAIN CONTENT </div>   
        <div id="sidebar"> SIDEBAR </div>
        </div></div>
    </div>
</div>

在实时网站中有点不同,但基本上它的结构是这样的。问题是,我想将侧边栏对齐到左侧,而不是右侧(目前它在右侧)。

我将侧边栏放在内容之后,因为需要先加载内容,然后再加载侧边栏。

我试过这个 CSS:

#body { overflow:auto; }
#table {display:table;}
#tablerow {display:table-row;}
#sidebar { float:left; width:150px; display:table-cell;margin-right:5px; }
#content { float:right; display:table-cell; }

它在演示(jsfiddle.net)中运行良好,但在实际网站中根本不运行。

相反,侧边栏与左下角对齐(在内容之后)。我想这是因为内容和侧边栏都有&lt;table&gt;s,但我不确定...我无法删除&lt;table&gt;,因为某些原因需要这些。

另外,如果有人想知道&lt;div id="table"&gt;&lt;div id="tablerow"&gt; 的用途,它用于网站上的某个javascript。

有人可以帮忙吗?原谅我英语不好..

如果有人需要查看,这里是实时网站:http://bleachindonesia.com/forum/(HTML 很乱)

【问题讨论】:

    标签: html css layout sidebar


    【解决方案1】:

    来自

    <div style="width: 100%; display: table;">
    

    删除

    display: table;
    

    来自

    <div style="display: table-row;">
    

    删除

    display: table-row;
    

    <div id="content" style="padding-top: 0px; padding-right: 10px; padding-bottom: 0px; padding-left: 10px; float: right; display: table-cell;">
    

    给一个宽度,比如

    width: 900px;
    

    现在你的

    <div class="lside" id="sidemenu" style="width: 20%; margin-right: 5px; display: table-cell;">
    

    在左边。

    【讨论】:

    • 已经尝试过了,但它不起作用......侧边栏移到了底部,即使我在&lt;div class="lside" id="sidemenu" ... &gt;上添加了float:left;
    • 啊我现在明白了——我猜是因为我的分辨率屏幕!伟大的!现在侧边栏在左边......但是还有另一个问题......这使得“显示/隐藏侧边菜单”javascript不起作用(右边的小“X”东西),因为内容宽度已经设置.如何解决这个问题?
    • @deathlock:似乎对我有用。当您单击“X”时,侧边栏将被隐藏。我在 Windows 7 上使用 IE9。你在用什么?
    • 对不起,没有解释我的意思...我的意思是,是的,侧边栏被隐藏了,但内容不会变宽/不会填满空白空间...如果您会看到实时网站,如果侧边栏被隐藏,当前内容会变得更宽。无论如何,我在 Windows XP 上使用 Google Chrome 10 和 Firefox 3.5..
    • 啊。请找到处理该问题的 JS。您可以在其中的 mouseclick 事件上为 div#content 添加 width: 100% 。这样,当页面加载时,div#content 的宽度是固定的,例如 900px 或任何其他适合您布局的宽度。但是,当用户按下“X”时,宽度会动态更改为 100%。如果您满意,请不要忘记将答案标记为“已接受”。如果没有,请使用 Javascript 标记发布一个新问题。
    猜你喜欢
    • 2021-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-25
    • 1970-01-01
    相关资源
    最近更新 更多