jquery - 在窗口调整大小时将元素保持在同一位置

标签 jquery html css

我的网页由两部分组成:一个可以根据任何窗口大小调整大小的图像,以及一个带有 4 个文本框的表单,该文本框位于图像顶部的特定位置。

我的问题是文本框在窗口大小调整时移出位置。我花了 6 个多小时尝试了 css 和 jquery 中的所有内容,但没有任何效果。

http://jsfiddle.net/ndqna/

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style type="text/css">
    body
    {
        margin: auto;
        width: 100%;
    }

    .Wrapper
    {
        position:relative;
        min-width: 500px;
        width: 100%;
        margin:auto;
    }

    .Image
    {
        max-width: 1150px;
        max-height: 1453px;
        width: 100%;
    }

    .Form
    {
        position: relative;
        top:-260px;
        left: 200px;
        width: 130px;
        border: solid 1px #000;
    }
</style>
</head>
  <body>
      <div class="Wrapper">
        <div>
            <img src="image.png" class="Image" />
        </div>
        <div class="Form">
            <input type="text" />
            <br />
            <input type="text" />
            <br />
            <input type="text" />
            <br />
            <input type="text" />
        </div>
    </div>
 </body>
</html>

完整窗口:enter image description here

调整窗口大小:enter image description here

最佳答案

首先,您应该设置包装器的最大尺寸,并使图像占据 100% 宽度。此外,您还应该将表单绝对定位而不是相对定位,并从底部定位。像这样的:http://jsfiddle.net/ndqna/2/

话虽如此,效果还不是 100% 完美。随着图像的缩放,表单的位置也需要改变。您可以尝试使用百分比来接近该位置。像这样的:http://jsfiddle.net/ndqna/3/

.Form
{
    position: absolute;
    bottom: 10%;
    left: 15%;
    border: solid 1px #000;
}

正如您所注意到的,它仍然不完美。如果您确实想要精确定位,则需要编写一些脚本来计算精确位置。然而,在开始编写 jQuery 代码之前,为什么不将“框”设置为表单的背景,并通过分割源图像将其从页面的背景图像中删除呢?这样,定位不需要像素完美,因为框将随着表单移动...

关于jquery - 在窗口调整大小时将元素保持在同一位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15956111/

相关文章:

javascript - 设计包含大量事件的页面的最佳实践

javascript - 如何使用 JQuery 创建“下一步”和“预览”按钮? (图片库)

html - css过渡滑动

css - 如何使用嵌套 div 在 HTML 和 CSS 中创建测量线

javascript - HTML/Jquery : div not detecting hover even when z-index set to highest?

html - 时间轴,使用 css 和 bootstrap 3

javascript - 禁用 Javascript 中的 dom 更改事件?

javascript - 更改网站中按钮的功能

javascript - 单击返回数组中的项目

html - 当显示设置为 flex 时,上标 <sup> 标签不起作用