【问题标题】:CSS - Scaling elements and images rel. to window size using %CSS - 缩放元素和图像 rel。使用 % 到窗口大小
【发布时间】:2013-01-22 00:36:13
【问题描述】:

我有一个 1920x650 的图像,在它的左下角有一个透明的水平矩形。我已经设法使它与图像一起缩放。问题是我无法弄清楚如何让它以一种会失去更多宽度的方式进行缩放。它与 img 精确缩放。

.container{
    position: relative;
    width: 100%;
    height: 100%;}

.bg-img{
    display:block;
    position: relative;
    width: 100%;
    height: 100%;
    z-index:1;}

.transblock{
    position:absolute; 
    width:44%; 
    height:6%; 
    top:90%; 
    left:0%; 
    z-index:5;}

http://jsfiddle.net/FA7XE/2/ - 开始全屏,缩小窗口 - 框和文本向中间偏移太多。 (它与图像完美缩放,在这种情况下这是一件坏事:()。我想让它相对于下面的菜单保持在原位。任何想法如何做到这一点?谢谢!

【问题讨论】:

    标签: css positioning scale scaling percentage


    【解决方案1】:

    用于显示绿色矩形和文本的容器使用 procentual 宽度。查看 CSS,您会发现没有为父元素指定固定宽度。这将转化为浏览器获取正文宽度值并使用它来计算尺寸。

    基本上,'.transblock' div 的宽度始终为 44%(取自主体宽度),而 '.h1text' div 的宽度始终为 30%。

    实现预期效果的解决方法是使用一些 javascript(jQuery) 代码来动态计算元素的宽度和位置:

    jQuery('.transblock').width(jQuery('body').width() * 0.44);
    jQuery('.h1text').width(jQuery('body').width() * 0.3);
    jQuery('.h1text').css('left', jQuery('body').width() * 0.135);
    

    你可以看看this fiddle

    注意:注意如何使用图像的宽度和高度。设定宽度:100%;和高度:100%;在非方形图像上可能会出现不需要的纵横比:

    .bg-img{
        width: 100%;
        height: 100%;
    }
    

    指定 width: 100% 就足够了 - 浏览器将使图像适合容器而不强制图像的高度,保持比例为 1:1。

    【讨论】:

    • 嗨,加布里埃尔,谢谢。从某种意义上说,它的宽度不再与 img 一起缩放(如我所愿)。我应该更准确地表达我所希望的。它也会失去一些宽度。就像,如果您从与底部菜单对齐的框/文本开始,请缩小窗口,使其保持相对于菜单的位置。关于如何做的任何想法? :)
    • 如果我理解正确,您希望将“页面标题”放在同一个位置,并与菜单对齐。有一个更新的小提琴,它具有原始的 HTML 结构,对 CSS 和 JS 进行了一些更改:jsfiddle.net/gabi/3zFhf/1
    • 另一个对 HTML 进行一些更改的小提琴似乎更合适:jsfiddle.net/gabi/3zFhf/3
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-28
    • 2016-07-30
    • 2015-12-27
    相关资源
    最近更新 更多