簡體   English   中英

相對於鼠標位置打開CSS3 / HTML5模式對話框

[英]Open CSS3 / HTML5 modal dialog relative to mouse position

我使用CSS3創建了一個模態對話框,它運行完美。 但是,我的網站響應和模態已經出現在一個iframe中的幾個項目(在這里看到: http://labs.tageswoche.ch/interaktives/filmPortraits/這里: HTTP://master.tw.felix.sourcefabric。凈/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,以便編寫更少的代碼,更易於維護(如果您向您的模式添加更改,您在一個位置進行一次更改,等等)

而且,模態窗口的性質是,它具有半透明背景,模態窗口在中間浮動(不在CSS上下文中)。

如果您在下面看到此css,您將會更好地理解:

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

標題為“保證金:5%自動; 導致此行為,您需要做的是將其更改為設置了填充的相同符號,並為圖像的每個位置指定特定值,即margin:10px模態窗口的10px,僅顯示在左上角如果您對鼠標的確切位置不太挑剔,則可以使用窗口等。

如果是這樣,則不使用最外層背景div的“ onclick”事件,其寬度/高度等於所包含的每個人的圖像的整體大小,則可以使用該事件對象獲取鼠標位置值(請閱讀此鏈接http:// www。 w3schools.com/jsref/event_clientx.asp

我沒有為您編寫它,因此您可以自己做並學習,希望這會有所幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM