将文本定位在图像上,以便即使在调整浏览器大小时它也始终指向图像中的同一位置

2023-12-15

我目前正在使用 weblflow 构建一个网站,但遇到了一个问题,这里有人可能可以帮助我解决。这是我在多个项目中遇到的问题,所以我非常感谢有人的帮助。

基本上,如果您有一个全屏尺寸的图像(设置为背景图像,100vw 和 100vh),然后想要将标题/标签放在该图像顶部,指向该图像中的特定部分,我如何获取这些标题/标签当有人调整浏览器大小时总是随着图像移动?

至于现在,我对标题/标签使用了绝对定位,并使用%边距将它们定位在我希望它们指向图像上的位置。我已将图像本身设置为相对位置。然而,使用该解决方案,在调整浏览器大小时,标题/标签永远不会完全继续指向图像上的同一位置。

我认为主要问题是,当有人只更改浏览器的宽度时,图像会变小(例如),因为它会保持其比例。垂直方向上,标题/标签不会移动,因为高度没有改变,只是浏览器的宽度发生了变化。因此,水平方向仍然没问题,但垂直方向的标题现在已关闭,因为由于调整浏览器宽度而导致图像变小。所以我想我确实知道为什么它不起作用,但我不知道如何解决这个问题。如果有人对此有解决方案,请告诉我。

举个例子:如果您打开此页面:http://nestin.bold-themes.com/classy/向下滚动到“真实值始终在内部”部分,有一个带有 5 个编号标签的图像,无论您如何调整浏览器大小,这些标签/数字都会保留在图像的同一位置。我经常在网站上看到这种情况。这是如何实现的?

将不胜感激任何帮助!


您创建一个父包装器,将其放入图像和所有 div 中。 父级是相对的,div 是绝对的。

这是一个小演示。

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

img {
  max-width: 100%;
  display: block;
  width: 100%;
}

.parent {
  position: relative;
}
.parent .box {
  position: absolute;
  width: calc(1.6vw + 10px); height: calc(1.6vw + 10px);
  border-radius: 50%;
  background-color: #fff;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
  -webkit-box-align: center;
          align-items: center;
}
.parent .box.window {
  top: 0;
  left: 39%;
}
.parent .box.light {
  top: 16%;
  left: 46%;
}
.parent .box.pool {
  top: 90%;
  left: 50%;
}
.parent .box.plant {
  top: 55%;
  left: 3%;
}
<div class="parent">
  <div class="box plant">1</div>
  <div class="box window">2</div>
  <div class="box light">3</div>
  <div class="box pool">4</div><img src="https://images.pexels.com/photos/4075088/pexels-photo-4075088.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260" alt=""/>
</div>

https://codepen.io/ShadiMouma/pen/BaKYyYX?editors=1100

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将文本定位在图像上,以便即使在调整浏览器大小时它也始终指向图像中的同一位置 的相关文章

  • 如何用PHP读取图像?

    我知道 localfile FILES media tmp name 如果使用 POST 方法 将获取图像 我正在尝试读取与我的代码位于同一目录中的图像 我如何读取它并将其分配给像上面这样的变量 您发布的代码不会读取图像数据 而是读取其文件
  • 粘性页脚不粘在 AngularJS 中

    Im working an angular site and im trying to implement a sticky footer across all views but the footer stops sticking whe
  • 如何交换 2 个元素的两侧(一个使用 float:left,另一个使用 float:right)

    I have a website with an image on one side and text on the other This is how it looks 正如您在图像中看到的 左侧有一些文本 右侧有图像 然后左边有图像 右
  • 更改网格模板列会破坏布局

    定义时grid template columns在相应的父 div 中这很好 wrapper display grid grid template columns 1fr 1fr 700px 但是如果我只想要两列怎么办 如果我删除其中之一f
  • 在生产中使用 css / javascript 源映射对性能有何影响?

    生产环境中应该使用源映射吗 除了调试之外 它们还有什么好处吗 由于额外的服务器往返 它们是否会影响应用程序加载时间 浏览器是否足够智能来加载 map应用程序加载和渲染后的资产 如果浏览器找不到 map asset 404错误 会对性能产生影
  • 如何在D3节点中放置图像?

    到目前为止 我已经创建了这些 D3 节点 用于创建可折叠的层次树 到目前为止 这些节点的颜色为 AA1C1C 深红色 以表明如果您单击它们 它们将扩展到更多节点 我想要做的是在节点中使用图像中的位置 这对于所有用户来说都是一个加号 以知道它
  • 如何在 CSS 中将子元素居中,即使它比父元素大?

    我想创建一个 css 类 以便可以将 div 放置在其父级的中心 我正在使用的代码是 centered position absolute margin auto bottom 0px left 0px top 0px right 0px
  • Bootstrap 3 按钮之间的空间

    如果我将几个 Bootstrap 3 按钮排成一行
  • 背景大小不起作用

    这是我的 CSS banner text BG background 00A7E1 url images sale tag png left center no repeat important background size 20px 2
  • 是否可以全局文本对齐表列而不在每行中指定类?

    想知道提高效率的最佳方法是什么 也许使用 jQuery 我可以接受不兼容 ie7 的解决方案 如果需要的话 即使缺乏对 ie8 的支持也可以 table th td class cal center td td left td td cla
  • CSS - 最大宽度和椭圆

    我有一个包含文本的跨度 我希望跨度扩大到最大 500px 以容纳里面的文本 达到最大值后 我希望文本为任何溢出最大宽度的文本显示省略号 这可能吗 我尝试了以下方法 但这并没有达到目的 Thanks position absolute top
  • AJAX 加载的图像在 Safari 中无法正确显示

    因此 我使用 AJAX 加载每个页面的内容并将其注入当前页面 在 Chrome Firefox Internet Explorer 上一切都运行良好 尽其所能 哈哈 并且除了两个奇怪的部分之外 内容在 Safari 上加载良好 通过 AJA
  • 如何将 ng-repeat 分成批次

    我正在做这个 ref checkbox 示例http getbootstrap com javascript buttons examples http getbootstrap com javascript buttons example
  • 生成基于内联 HTML 样式的样式表?

    一段时间以来 我一直致力于对网站的不同部分进行样式设计 但是我尚未将内联样式放入样式表中 我想知道是否存在一个工具可以解析 HTML 文件并从中生成样式表 例如 这是我网站的一个片段 div class block style border
  • Sitecore 多种 RTE 类样式

    我可以为 RichTextEditor RTE 添加 CSS 样式路径 如下所示 并且我可以在 RTE 中选择定义的样式
  • 不透明动画在 IE 上不起作用

    我有一个动画菜单 其中包含一些级联不透明动画 这些动画在打开菜单和悬停每个按钮时执行 它只是每 100 毫秒向菜单上的每个图标添加 colorHigh 类 你可以看到一个现场演示在这里 http germanalvarez net 5 la
  • Bootstrap“navbar-brand”导致“navbar-nav”项目从导航栏中的中心位置向右移动?

    我正在尝试创建一个导航栏 其左侧有 品牌 LOGO 而实际的导航项目位于整个栏的中心 我正在使用默认的 Bootstrap 导航栏 因为我一周前才开始学习 Web 开发 到目前为止 情况是这样的 但是 您可以看到导航项稍微移动到页面实际中心
  • 推迟未使用的 CSS

    我有一个关键的 CSS 流程 可以防止页面首屏内容出现无样式内容闪现 FOUC 我陷入了 推迟未使用的 CSS 这一点 Google PageSpeed 见解 灯塔 和 或 Chrome 的性能审核强调了这一点 我已经阅读了其他文章 但它们
  • css 变换,chrome 中的锯齿状边缘

    我一直在使用 CSS3 转换来旋转网站中带有边框的图像和文本框 问题是 Chrome 中的边框看起来呈锯齿状 就像没有抗锯齿的 低分辨率 游戏一样 在 IE Opera 和 FF 中看起来好多了 因为使用了 AA 仍然清晰可见 但也没有那么
  • 页脚没有停留在底部

    这似乎是有史以来最令人困惑的问题 至少对我来说是这样 知道这个页面 除了标题之外 都已损坏 我复制了 HTML 并尝试小心地删除 WordPress 相关的爵士乐 以便您获得该页面的 html JsBin直播页面 http jsbin co

随机推荐