gpt4 book ai didi

javascript - 打开相对于鼠标位置的 CSS3/HTML5 模态对话框

转载 作者:太空宇宙 更新时间:2023-11-03 17:38:09 24 4
gpt4 key购买 nike

我使用 CSS3 创建了一个模态对话框,它工作得很好。但是我的网站是响应式的,模式必须出现在 iframe 内的几个元素上(参见此处:http://labs.tageswoche.ch/interaktives/filmPortraits/ 和此处:http://master.tw.felix.sourcefabric.net/de/2014_11/international/652865/Drei-Jahre-B%C3%BCrgerkrieg-und-kein-Ende-in-Sicht.htm)。在 iframe 中它不起作用,但它在真实站点上按预期工作。

模态对话框是在前两张图片上实现的。

这里是代码:

.modalDialog {
position: fixed;
font-family: Arial, Helvetica, sans-serif;
top: 0;
right: 0;
bottom: 0;
left: 0;
background: rgba(0, 0, 0, 0.8);
z-index: 99999;
opacity:0;
-webkit-transition: opacity 400ms ease-in;
-moz-transition: opacity 400ms ease-in;
transition: opacity 400ms ease-in;
pointer-events: none;
}
.modalDialog:target {
opacity:1;
pointer-events: auto;
}
.modalDialog > div {
width: 400px;
position: relative;
margin: 10% auto;
padding: 5px 20px 13px 20px;
border-radius: 10px;
background: #fff;
background: -moz-linear-gradient(#fff, #999);
background: -webkit-linear-gradient(#fff, #999);
background: -o-linear-gradient(#fff, #999);
}
.close {
background: #606061;
color: #FFFFFF;
line-height: 25px;
position: absolute;
right: -12px;
text-align: center;
top: -10px;
width: 24px;
text-decoration: none;
font-weight: bold;
-webkit-border-radius: 12px;
-moz-border-radius: 12px;
border-radius: 12px;
-moz-box-shadow: 1px 1px 3px #000;
-webkit-box-shadow: 1px 1px 3px #000;
box-shadow: 1px 1px 3px #000;
}
.close:hover {
background: #00d9ff;
}

这是我用来实现模式对话框的 jsfiddle:

http://jsfiddle.net/kumarmuthaliar/GG9Sa/1/

我想要实现的是模态框出现在鼠标点击(或或多或少)的位置,以便在移动设备上也出现在墙上的最后一张图像上。现在模态出现在顶部。我该如何实现?我不知道。

最佳答案

关于您的设计,我想说的一件事是,不要为每个人的模态制作单独的模态窗口 html,使用一个模态并在您单击不同的人时更改其 innerhtml,这样您可以编写更少的代码,更易于维护(如果您对模态进行更改,则在一个位置进行一项更改等)

另外,模态窗口的本质是,它有一个半透明的背景,模态窗口 float (不在 css 上下文中)在它的中间。

如果你在下面看到这个 css 位,你会更好地理解:

.modalDialog > div {
width: 600px;
position: relative;
margin: 5% auto;
padding: 5px 20px 13px 20px;
background: #fff;
}

显示“ margin :5% 自动;”的位导致这种行为,你需要做的是将其更改为设置填充的相同符号,并为图像的每个位置赋予它特定的值,即 margin: 10px 10px 对于仅显示在左上角的模态窗口如果您对鼠标的确切位置不是太挑剔的话,可以选择窗口等。

如果你是,那么使用宽度/高度等于包含的每个人图像的整体大小的最外层背景 div 的“onclick”事件,而不是使用事件对象获取鼠标位置值(阅读此链接 http://www.w3schools.com/jsref/event_clientx.asp )

我不是为你写的,所以你可以自己做和学习,希望这对你有帮助!

关于javascript - 打开相对于鼠标位置的 CSS3/HTML5 模态对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29496290/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com