屏幕上的静态中心div(没有JS)

时间:2014-12-09 23:21:05

标签: html css

我已经拥有的东西:

    .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>

有可能吗?

1 个答案:

答案 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
}

是这个吗?