我有一个 CSS 模式,当用户单击我页面上的按钮时会弹出。我使用回帖中的一些信息来生成模态。在生成模态的代码的末尾,我使用:
echo '<script type="text/javascript">location.hash = "#confirm";</script>';
使模态出现。
这在 Chrome、Safari、Firefox、Opera 和 IE10 中非常适合我。但是,在 IE9 中,当我单击按钮时,URL 确实会附加 #confirm 标记,但不会出现模式,并且页面似乎丢失了我的所有 CSS 样式。我不知道我是否遇到了 IE9 错误、我做错了什么,或者它是否与我处理此模式的方法不兼容。
感谢任何建议或见解!
更新一些问题:我使用生成代码的函数呈现模式:
//CONFIRM MODAL
function FUNCTION_confirm_modal($modal_header, $modal_content, $modal_button1, $modal_link1, $modal_button2, $modal_link2)
{
//BUILD SUBMIT SUCCESS MODAL
$confirm_modal = '
<div id="confirm" class="modal">
<div>
<h4 class="warn">'.$modal_header.'</h4>
'.$modal_content.'
<fieldset id="modalSubmitAreaRight">
<a href="'.$modal_link1.'" class="shortButton">'.$modal_button1.'</a><a href="'.$modal_link2.'" class="longButton">'.$modal_button2.'</a>
</fieldset>
</div>
</div>';
//RETURN DATA
return $confirm_modal;
}
然后,在我的内容页面上,我这样做:
print_r($confirm_modal);
echo '<script type="text/javascript">location.hash = "#confirm";</script>';
模态的实际外观/可见性/等由我的 CSS 控制。如果您也需要查看,请告诉我。谢谢!
这是打开/关闭模式的 CSS:
.modal {
position: fixed;
overflow: scroll;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0,0,0,0.5);
z-index: 1000;
-webkit-transition: opacity 500ms ease-in;
-moz-transition: opacity 500ms ease-in;
-o-transition: opacity 500ms ease-in;
transition: opacity 500ms ease-in;
visibility:hidden;
pointer-events: none;
}
/* SHOW MODAL */
.modal:target {
visibility: visible;
pointer-events: auto;
}
/* MODAL CONTENT */
.modal > div {
width: 500px;
background: #fff;
position: relative;
margin: 10% auto;
-webkit-animation: minimise 500ms linear;
-moz-animation: minimise 500ms linear;
-o-animation: minimise 500ms linear;
padding: 30px;
border-radius: 7px;
box-shadow: 0 3px 20px rgba(0,0,0,0.9);
background: #fff;
background: -moz-linear-gradient(#fff, #ccc);
background: -webkit-linear-gradient(#fff, #ccc);
background: -o-linear-gradient(#fff, #ccc);
text-shadow: 0 1px 0 #fff;
}
/* MODAL CALL ANIMATION */
.modal:target > div {
-webkit-animation-name: bounce;
-moz-animation-name: bounce;
-o-animation-name: bounce;
}
/* MODAL ANIMATION */
@-webkit-keyframes bounce {
0% {
-webkit-transform: scale3d(0.1,0.1,1);
-o-transform: scale3d(0.1,0.1,1);
box-shadow: 0 3px 20px rgba(0,0,0,0.9);
}
55% {
-webkit-transform: scale3d(1.08,1.08,1);
-o-transform: scale3d(1.08,1.08,1);
box-shadow: 0 10px 20px rgba(0,0,0,0);
}
75% {
-webkit-transform: scale3d(0.95,0.95,1);
-o-transform: scale3d(0.95,0.95,1);
box-shadow: 0 0 20px rgba(0,0,0,0.9);
}
100% {
-webkit-transform: scale3d(1,1,1);
-o-transform: scale3d(1,1,1);
box-shadow: 0 3px 20px rgba(0,0,0,0.9);
}
}
@-webkit-keyframes minimise {
0% {
-webkit-transform: scale3d(1,1,1);
-o-transform: scale3d(1,1,1);
}
100% {
-webkit-transform: scale3d(0.1,0.1,1);
-o-transform: scale3d(0.1,0.1,1);
}
}
@-moz-keyframes bounce {
0% {
-moz-transform: scale3d(0.1,0.1,1);
-o-transform: scale3d(0.1,0.1,1);
box-shadow: 0 3px 20px rgba(0,0,0,0.9);
}
55% {
-moz-transform: scale3d(1.08,1.08,1);
-o-transform: scale3d(1.08,1.08,1);
box-shadow: 0 10px 20px rgba(0,0,0,0);
}
75% {
-moz-transform: scale3d(0.95,0.95,1);
-o-transform: scale3d(0.95,0.95,1);
box-shadow: 0 0 20px rgba(0,0,0,0.9);
}
100% {
-moz-transform: scale3d(1,1,1);
-o-transform: scale3d(1,1,1);
box-shadow: 0 3px 20px rgba(0,0,0,0.9);
}
}
@-moz-keyframes minimise {
0% {
-moz-transform: scale3d(1,1,1);
-o-transform: scale3d(1,1,1);
}
100% {
-moz-transform: scale3d(0.1,0.1,1);
-o-transform: scale3d(0.1,0.1,1);
}
}