【问题标题】:Sidebar width issue侧边栏宽度问题
【发布时间】:2013-10-16 08:48:47
【问题描述】:

我先向你展示我的“网站”。

“我的问题”

标题将始终以 1140 像素的宽度居中。
主要内容的宽度约为 70%,最大宽度为 912 像素。

我的问题是侧边栏不会保持正确的宽度。

如果您以“设计”分辨率查看该站点,它看起来是正确的,但如果您将窗口放大,它就不会跟随。它应该始终保持不变,以便侧边栏内容始终位于标题的左边缘“内部”。

我将如何实现这一目标?
侧边栏的宽度约为 23%,如果您将窗口保持在 1300 像素宽(这是设计的宽度),它看起来是正确的。

【问题讨论】:

  • 如果您提供 html/css 代码会更容易为您提供帮助,最好是 fiddle 格式
  • 它看起来像这样:jsfiddle.net/gx4jb/20 无法完全按照原样执行,导致 div 消失。侧边栏是绝对定位的,主 div 有左边距,所以它总是在正确的播放中(与标题的右边缘内联)。
  • 如果我正确理解您的要求,我认为不可能创建响应式布局。如果居中的标题可以小于 1140 像素,而主要内容和侧边栏设置为具有百分比宽度,那么侧边栏+主要内容总是有可能比标题更宽,因此侧边栏的左侧将始终位于标题的左边距“外部”。

标签: css responsive-design width sidebar


【解决方案1】:

根据您的要求,标题的最小宽度为 1140 像素,因此我的“解决方案”基于该数字。对于完全响应,这应该是真正使用的 % 和媒体查询。

通过使用几个额外的包装器,我认为我们可以管理您的需求。

** 基本 HTML **

<header>
  <div class="inner">
    THIS IS MY HEADER AREA
  </div>
</header>

<div class="nav">
  <div class="inner">
  THIS IS MY NAV BAR
</div>
</div>

  <aside>
    ASIDE
  </aside> 

<div class="inner clearfix">

  <div class="content">
    CONTENT
  </div>
</div>

** CSS **(包括一些颜色,以便您可以看到正在发生的事情。

* {
  box-sizing:border-box;
  margin:0;
  padding:0;
}

.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

html {
  text-align:center;
  font-weight: bold;
}

header {
  height:50px;
  line-height:50px;
  background:lightgreen;
}

.inner {
  width:1140px;
  margin:0 auto;
  position:relative;
  }

header .inner {
    background:lightblue;
}

.nav {
  height:50px;
  background:pink;
  line-height:50px;
}

.nav .inner {
  background:NavajoWhite;
}



aside {
  width:20%;
  min-width:218px;
  height:400px;
  background:blue;
  margin-top:10px;
  position:absolute;
  left:10px;

}

.content{
  height:450px;
  background-color: orange;
  width:70%;
  float:right;
  max-width:912px;
  margin-top:10px;
}

Codepen Example

【讨论】:

  • 问题是,站点的 MAX-WIDTH 为 1140。所以标题永远不会大于 1140,但它可以变得更小。主要内容不能大于912px,但可以变小。所以问题是侧边栏停留在左侧,在侧边栏和主 div 之间留下了很大的间隙。
  • 好的,那么您肯定需要一些媒体查询来更改.content div 的百分比宽度。目前,只需将.inner div 的宽度更改为最大宽度 1140 即可使页面响应迅速。 codepen.io/Paulie-D/pen/Aghba你希望这个多小?
猜你喜欢
  • 1970-01-01
  • 2023-03-30
  • 2016-12-23
  • 2021-03-19
  • 1970-01-01
  • 2022-01-25
  • 2015-01-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多