【问题标题】:Layout issues, part fixed width, part elastic布局问题,部分固定宽度,部分弹性
【发布时间】:2011-12-10 21:38:15
【问题描述】:

我已经浏览了一些帖子,但找不到我想要的。我现在正在用 PS 设计一些东西,我可以预见到将设计编码为 html+css 时会出现问题。

想象一下我的中心 div,它是 960px。它将有一个半透明的.png 作为背景。设计是“full width”,所以这个 div 将包含在一个更大的 div 中,设置为 100% 宽度。在我进入这个外部 div 的背景之前,这一切都很好。它还将有一个 .png 运行页面的整个宽度。问题是:我不希望它穿过中间,因为它会导致中间有两倍的厚度,如果这有意义吗?!

基本上,我需要一种方法来在任一侧运行一个有弹性的 div,或者以某种方式阻止背景在浏览器窗口的中心 960px 部分运行。

我不知道如何实现这一点,除了使用 JS 设置宽度,我真的不想这样做。

有什么想法吗?

好的,我已经尝试在这里解决基本问题:http://jsfiddle.net/8Bznc/1/

【问题讨论】:

  • 为什么需要透明背景?
  • 因为这一切背后的背景是一种纹理,我想通过堆叠在顶部的图层来部分显示

标签: html css background fixed liquid-layout


【解决方案1】:

您可以在中心 div 上放置一个不透明的背景,这样其他背景就不会显示出来。

请看这里:http://jsfiddle.net/9bnHD/

【讨论】:

  • 我添加了一个小提琴,这样你就可以明白我的意思了。
【解决方案2】:

仅将background-image 应用于包装div

或者,如果中心和侧面需要不同的图像,也可以给中心div 一个不透明的background-color

另外,您可以使用多个background-images 来伪造它。 Demo

请记住,这在旧版本的 IE 中不起作用,但像背景透明度这样不重要的东西可以作为优雅降级的例外情况。

【讨论】:

  • 我认为这行不通。外部 div 将有一个 10px 高度的条带,设置为 repeat-x,因此它将填充页面的整个宽度。中心 div(960 的那个)将有一个不同的形状(一个矩形),它也是半透明的。这个想法是body 的背景将贯穿所有这些。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-14
  • 2011-06-20
  • 1970-01-01
  • 2023-03-22
  • 2020-11-11
  • 2012-10-17
相关资源
最近更新 更多