我已经拥有的东西:
.modal-m1
{
background-image: url(../images/bg-greyout.png);
background-repeat: repeat;
display: table;
top: 0;
left: 0;
width: 100%;
height: 100%;
position: fixed;
margin: 0;
padding: 0;
z-index: 1;
}
.modal-m1 .modal-m2
{
display: table-cell;
vertical-align: middle;
}
.dialogbox
{
margin: 0 auto;
background-color: #F6F6F6;
-webkit-border-radius: 20px;
-moz-border-radius: 20px;
border-radius: 20px;
-webkit-box-shadow: #666 3px 3px 5px;
-moz-box-shadow: #666 3px 3px 5px;
box-shadow: #666 3px 3px 20px;
padding: 20px;
}
.mydialogbox
{
width: 400px;
}
<div class="modal-m1">
<div class="modal-m2">
<div class="dialogbox mydialogbox">
... CONTENT IS HERE ......
</div>
</div>
</div>
那个阶段的一切都还可以。您可以在代码段上进行测试。
现在我想把几个对话框放到不同的页面上。我正在尝试重用代码,因此我尝试将modal-m1
,modal-m2
和dialogbox
提取到ASP.NET用户控件。 mydialogbox
必须成为div
内的嵌套dialogbox
。但在这种情况下,dialogbox
会忽略width: 400px
。有没有解决方法?
换句话说,我希望我的标记是:
<div class="modal-m1">
<div class="modal-m2">
<div class="dialogbox">
<div class="mydialogbox">
... CONTENT IS HERE ......
</div>
</div>
</div>
</div>
有可能吗?
答案 0 :(得分:1)
如果我理解.. 你的HTML可以是这样的:
<div class="modal-m1">
<div class="modal-m2">
<div class="dialogbox ">
<div class="mydialogbox">
<div>CONTENT IS HERE ......</div>
</div>
</div>
</div>
</div>
并且您只想为.my对话框添加宽度
.modal-m1 .modal-m2
{
display: table-cell;
vertical-align: middle;
text-align:center; /*add*/
}
.dialogbox
{
margin: 0 auto;
background-color: #F6F6F6;
-webkit-border-radius: 20px;
-moz-border-radius: 20px;
border-radius: 20px;
-webkit-box-shadow: #666 3px 3px 5px;
-moz-box-shadow: #666 3px 3px 5px;
box-shadow: #666 3px 3px 20px;
padding: 20px;
display:inline-block; /*change*/
}
.mydialogbox
{
width: 400px;
text-align:left
}
是这个吗?