我已经拥有的:



    .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-m1modal-m2dialogbox提取到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>


可能吗?

最佳答案

如果我明白..
您的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
}

这是?

关于html - 将div静态居中显示在屏幕上(无JS),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27390730/

10-16 21:07