显示 <div>或&lt;跨度&gt;在图像上:悬停

2023-11-01前端开发问题
1

本文介绍了显示 <div>或&lt;跨度&gt;在图像上:悬停的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我正在寻找一种方法,当您在图像上 :hover 时,该方法将允许 divspan 元素出现在图像上图片.我可以使用 .image:hover ~ .overlay 来做到这一点,但这并不是我想要的.divspan 元素需要获取图像的尺寸,因为会有多种尺寸.

示例

<img width="200" height="200"/> 将允许您 :hover 更改 div 或从 display: nonedisplay: blockspan 元素(不一定必须是块).从不可见变为可见的元素必须自动检测图像的大小并将元素的大小与这些相同的尺寸 (200x200) 匹配.但是,我也可以有一个 <img width="300" height="400"/> 需要元素匹配大小 (300x400).

我还在寻找一种超级简单的方法,将这些元素完美地定位在图像上.

这是我的代码笔,以展示我目前的成果.

解决方案

类似于 this answer 我给了,你绝对可以将 .overlay 元素相对于父元素定位,并给它一个 100% 这应该适用于所有 img 大小,因为父元素将是 inline-block (它的大小与其包含的元素相同).

此处示例

HTML 结构:

通用 CSS:

默认隐藏 .overlay 元素,并使用选择器 .image:hover .overlay 更改悬停样式.由于 HTML 结构,这很有效,因为 .overlay 是一个后代元素.因此,您可以避免使用通用/相邻兄弟组合符 +~.Box-sizing 用于计算元素在边框、内边距等方面的尺寸.

.image {位置:相对;显示:内联块;}.overlay {显示:无;}.image:悬停 .overlay {宽度:100%;高度:100%;背景:rgba(0,0,0,.5);位置:绝对;顶部:0;左:0;显示:内联块;-webkit-box-sizing:边框框;-moz-box-sizing:边框框;框尺寸:边框框;/* 所有其他样式 - 参见示例 */图像{垂直对齐:顶部;/* 默认是基线,这修复了一个常见的对齐问题 *
The End

相关推荐

layui 实现实时刷新一个外部的div
主页面上显示了一个合计,在删除和增加的时候需要更改这个总套数的值: //html代码div class="layui-inline layui-show-xs-block" style="margin-left: 10px" id="sumDiv"spanSOP合计:/spanspan${totalNum}/spanspan套/span/div 于是在我们删除这个条数据后,...
2024-11-14 前端开发问题
156

layui 单选框、复选框、下拉菜单不显示问题如何解决?
1. 如果是ajax嵌套了 页面, 请确保 只有最外层的页面引入了layui.css 和 layui.js ,内层页面 切记不要再次引入 2. 具体代码如下 layui.use(['form', 'upload'], function(){ var form = layui.form; form.render(); // 加入这一句});...
2024-11-09 前端开发问题
313

layui tree树组件怎么自定义添加图标
经常用到layui的朋友都知道,layui tree默认是不能自定义图标的,那么我们要自定义的话要怎么操作呢? 首先用编辑器软件(修改时候用编辑器记得编码),打开layui.js。搜索: i class="layui-icon layui-icon-file" 改为如下代码: i class="'+ (i.icon || "l...
2024-10-26 前端开发问题
493

layui要如何改变时间日历布局大小?
问题描述 我想改变layui时间日历布局大小,这个要怎么操作呢? 解决办法 可以用css样式对时间日历进行重新布局,具体代码如下: !DOCTYPE htmlhtmlheadmeta charset="UTF-8"title/titlelink rel="stylesheet" href="../../layui/css/layui.css" /style#test-...
2024-10-24 前端开发问题
271

jQuery怎么动态向页面添加代码?
append() 方法在被选元素的结尾(仍然在内部)插入指定内容。 语法: $(selector).append( content ) var creatPrintList = function(data){ var innerHtml = ""; for(var i =0;i data.length;i++){ innerHtml +="li class='contentLi'"; innerHtml +="a href...
2024-10-18 前端开发问题
125

“数组中的每个孩子都应该有一个唯一的 key prop"仅在第一次呈现页面时
quot;Each child in an array should have a unique key propquot; only on first time render of page(“数组中的每个孩子都应该有一个唯一的 key prop仅在第一次呈现页面时)...
2024-04-20 前端开发问题
5