代码之家  ›  专栏  ›  技术社区  ›  stalepretzel

图像和动态布局

  •  1
  • stalepretzel  · 技术社区  · 16 年前

    我在一个基于em布局的网站上工作(这样当用户增加或减少字体大小时,它可以优雅地拉伸和压缩)。此网站有一个应跨所有页面显示的标题。我在所有页面中都有一个“header”分区,站点范围的css文件包含以下代码:

    #header
    {
        width: 50em;
        height: 6em;
        margin-bottom: .5em;
        background: url("/IMAGES/header.png");
    }
    

    问题是,这并不能很好地伸展。当文本大小增加时,高度和宽度会改变,但**图像的大小不会增加;它只是重复*。*

    我怎样才能让我的图像拉伸和挤压,而不是重复或被切断? (如果可能的话,我想要一个基于CSS的解决方案…我已经有了一些HTML的想法了)。

    4 回复  |  直到 13 年前
        1
  •  0
  •   Pianosaurus    16 年前

    无法使用CSS来拉伸背景图像。您必须使用javascript或类似的东西。但是,如果您的图像不需要重复(例如,混合到背景中),可以这样做:

    background-position: center center;
    background-repeat: no-repeat;
    

    附录:职位格式如下:<上中下xpos><左中右ypos> 其中xpos和ypos可以以常规方式给出(em、px、%等)。

        2
  •  0
  •   da5id    16 年前

    我唯一能找到的方法是:

    • 将标题的背景设置为标题图像的背景色。
    • 在页眉内放置新的DIV
    • 将页眉图像拆分为2
    • 将新图像的左半部分设置为“标题背景左对齐”
    • 将新图像的右半部分设置为header.div background-aligned right

    当然,这只适用于适当的图像。

        3
  •  0
  •   nickf    16 年前

    我很确定你不能改变背景图像的比例。如果header.png文件作为 img 标记,然后可以将其高度和宽度设置为 ems 浏览器会调整它的大小(通常会让它看起来像垃圾)。

    还请记住,现在几乎所有的现代浏览器都会进行页面缩放,这样就可以在不改变太多布局的情况下放大所有内容。也许告诉你的用户使用这个功能?

        4
  •  0
  •   stalepretzel    16 年前

    @钢琴龙,我认为你的想法可能是最简单的,虽然有限。简单地说,不要拉伸图像,但要确保它在没有拉伸时看起来很好(居中,不要让它重复)。此外,如果在页眉图像的边缘使用大量填充,则向下调整页面大小也不会造成如此大的问题。