首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何阻止弹出窗口不隐藏在css中?

如何阻止弹出窗口不隐藏在css中?
EN

Stack Overflow用户
提问于 2018-06-20 00:12:32
回答 1查看 435关注 0票数 1

我有一个弹出窗口,我在纯CSS的帮助下进行了切换。现在,如果我运行弹出窗口并将鼠标移动到窗口的最上面或最下面的部分,弹出窗口开始消失,如果我的光标放在身体部分,它的开始出现。我在弹出窗口代码中使用了0%的JAVASCRIPT。问题来了:https://imgur.com/a/bChuzIv把焦点放在鼠标光标上!此外,我正在寻找一种方法来打开一个弹出式窗口在页面加载没有js。

代码语言:javascript
复制
.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: auto;
}

.modalDialog:target,.modalDialog:hover {
  opacity: 1;
  pointer-events: auto;
}

.modalDialog>#__spookyPopup {
  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, #fff);
  background: -o-linear-gradient(#fff, #999);
}

.profile_container {
  height: 160px;
  width: 400px;
  background: #;
  display: inline-block;
}

.profile_div {
  height: 120px;
  width: 130px;
  margin-top: 20px;
  margin-left: 130px;
  background: #ddd;
  border: 1px solid grey;
}

.head_div {
  min-height: 12px;
  width: 100%;
}



.priv_cont {
  height: 90px;
  width: 400px;
  background: #;
  display: inline-block;
}

.priv_head {
  height: 60px;
  width: 330px;
  margin-left:30px;
  margin-top:15px;
  background: #;

  
}




.clicker {
  display: inline-block;
  width: 100px;
  height: 50px;
  background-color: ;
  color: #FFF;
}

.clicker:hover{border-bottom: 2px solid red ;
}


#click_styling
{
margin-top:20px;
height: 50px;
 width: 197px;
 text-align:center;
 font-size:20px;color:#000;
 line-height:50px;
 text-decoration:none;
 cursor:default;"

}
.clicker.hidden {
  display: none;
}

.hiddendiv {
  height: 0px;
  background-color: ;
  overflow: hidden;
  transition: height 0.5s;
}


.social {
margin-top:20px;
margin-bottom:20px;
  height: 120px;
  width: 400px;
  background: #;
  display: inline-block;
}

.social_link {
  height: 60px;
  width: 330px;
  margin-left:30px;
  margin-top:15px;
  background: #;
 
  
}
.manual_link
{
  height: 35px;
  width: 330px;
  margin-left:30px;
  margin-top:30px;
  background: #e3e3e3;
   border-bottom:2px solid red;
  }
  

.hiddendiv.nr2 {
  background-color: ;
}

#showdiv1:target~div a[href="#showdiv1"],
#showdiv2:target~div a[href="#showdiv2"] {
  display: none;
}

#showdiv1:target~div a[href="#hidediv1"],
#showdiv2:target~div a[href="#hidediv2"] {
  display: inline-block;
}

#showdiv1:target~div .hiddendiv.nr1,
#showdiv2:target~div .hiddendiv.nr2 {
  height: 150px;
}
代码语言:javascript
复制
<a href="#__spooky_auth_popup">Open Modal</a>

<div id="__spooky_auth_popup" class="modalDialog">
  <div id="__spookyPopup">

    <div class="profile_container">
      <div class="profile_div"></div>
    </div>


    <div class="head_div">
      <p style="margin:0;padding:0;text-align:center;
font-size:25px;color:#8d8686;">
      <I>Hey, please login to access your private content.</I>
      </p>
    </div>


    <div id="showdiv1"></div>
      <div id="showdiv2"></div>

        <div>
          <a href="#showdiv1" class="clicker "  id="click_styling" tabindex="1">SOCIAL</a>
          <a href="#hidediv1" class="clicker hidden "  id="click_styling" tabindex="1">SOCIAL</a>

          <a href="#showdiv2" class="clicker "  id="click_styling" tabindex="2">MANUAL</a>
          <a href="#hidediv2" class="clicker hidden "  id="click_styling" tabindex="2">MANUAL</a>

          <div class="hiddendiv nr1">
            <div class="social">
              <div class="social_link"> 
                <div data-html="allow" style="margin-left:80px;margin-top:10px;">
                  <iframe  id="iFrame1"  style="border: 0px;  display: block" height="400" class="spoooky-auth" src="https://api.spooo.ky/auth/facebook" border="0"></iframe>
                </div>
                <!-- End of facebook button -->
              </div>

              <div class="social_link">
                <!-- Optional: Linkedin button starts here -->
                <div data-html="allow" style="margin-left:95px;margin-top:10px;">
                <iframe style="border: 0px;  display: inline-block" class="spoooky-auth" src="https://api.spooo.ky/auth/linkedin" border="0"></iframe>
                <!-- End of linkedin button -->
              </div>
            </div>
          </div>
        </div>

        <div class="hiddendiv nr2">
          <div class="social">
            <div class="manual_link" > 
              <p style="text-align:left;font-size:25px;color:#979191;line-height:50px;">
              <I>WaterMark Text</I></p>
            </div>
          </div>
        </div>
      </div>

      <div class="priv_cont">
        <div class="priv_head">
          <p style="margin:0;padding:0;text-align:center;font-size:18px;color:#000;">
            <I>By continuing to the content you agree with the <a href="#"  style="color:#000;">cookie</a> 
  and <a href="#" style="color:#000;">privacy</a> policies.</I>
          </p>
        </div>
      </div>

有什么想法吗?问题出在哪里?我怎样才能防止它呢?任何意见都是值得感谢的。提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-06-20 04:14:16

在您的代码片段中看到的“问题”是由使用:hover显示弹出窗口引起的-因此,当鼠标在窗口中时,它将显示,而当鼠标不在窗口中时,它将隐藏。我猜不出为什么使用了:hover,但只使用:target不能按编码方式工作,因为只能有一个元素与:target伪类匹配,所以如果单击showdiv1/showdiv2链接之一,整个弹出窗口就会消失。当'__spooky_auth_popup‘是当前目标时,或者当showdiv1/showdiv2元素中的任何一个元素是目标时,您必须找到一种方法来为弹出窗口创建一个选择器。这可能需要重新构造文档,并对showdiv1/2元素使用更复杂的选择器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50932782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档