我正在制作一个jQuery UI对话框。它看起来很完美,我的造型也很有效,但第一段元素在对话框中很大。
CSS不能设置除字体以外的任何内容。如果我添加max-height: 1.5em;
,那么它们就像下面一样堆积在彼此之上。
我不知道这是做什么的,但我的代码如下。我有一种感觉,这是由于页面上其他地方的内容迫使元素移动。
#cadEditor {
display: none;
z-index: 999999 !important;
background: #222;
}
.ui-dialog {
background: #222;
}
.ui-dialog .ui-dialog-titlebar {
background: #333;
height: 40px;
top: 0;
text-align: center;
line-height: 40px;
}
.ui-dialog .ui-dialog-title {
position: absolute;
top: 0;
display: block;
width: 100%;
height: fit-content;
text-align: center;
}
#cadEditor p {
max-height: 1.5em;
}
.ui-dialog .ui-dialog-titlebar-close {
display: none;
}
.ui-dialog .ui-button {
color: #fff;
background: #222;
padding: 0.3em 0.5em;
border: #000000 1px solid;
border-radius: 5px;
margin: 1em;
cursor: pointer;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
<div id="cadEditor">
<p>Test Dialog</p>
<p>Test Dialog</p>
<p>Test Dialog</p>
<p>Test Dialog</p>
<p>Test Dialog</p>
<p>Test Dialog</p>
<p>Test Dialog</p>
<p>Test Dialog</p>
<p>Test Dialog</p>
<p>Test Dialog</p>
</div>
<script>
function showCadEditor(button) {
$('#cadEditor').dialog({
dialogClass: "cadEditorDialog",
autoOpen: true,
title: "Editing Cad " + $(button).attr("forcad"),
modal: true,
resizable: false,
width: 600,
buttons: {
"Save": function () {
$(this).dialog("close");
},
"Cancel": function () {
$(this).dialog("close");
}
}
});
return false;
}
showCadEditor();
</script>
&#13;
答案 0 :(得分:0)
我刚刚将你的问题复制到了html。对我来说很好看。 你能否详细解释一下你的问题? 可能是网站的样式会覆盖弹出窗口的样式。
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>Title Goes Here</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
<style>
#cadEditor {
display: none;
z-index: 999999 !important;
background: #222;
}
.ui-dialog {
background: #222;
}
.ui-dialog .ui-dialog-titlebar {
background: #333;
height: 40px;
top: 0;
text-align: center;
line-height: 40px;
}
.ui-dialog .ui-dialog-title {
position: absolute;
top: 0;
display: block;
width: 100%;
height: fit-content;
text-align: center;
}
#cadEditor p {
max-height: 1.5em;
}
.ui-dialog .ui-dialog-titlebar-close {
display: none;
}
body{color: white}
</style>
</head>
<body> <p>This is my web page</p>
<div id="cadEditor">
<p>Test Dialog</p>
<p>Test Dialog</p>
<p>Test Dialog</p>
<p>Test Dialog</p>
<p>Test Dialog</p>
<p>Test Dialog</p>
<p>Test Dialog</p>
<p>Test Dialog</p>
<p>Test Dialog</p>
<p>Test Dialog</p>
</div>
<script>
function showCadEditor(button) {
$('#cadEditor').dialog({
dialogClass: "cadEditorDialog",
autoOpen: true,
title: "Editing Cad " + $(button).attr("forcad"),
modal: true,
resizable: false,
width: 600,
buttons: {
"Save": function () {
$(this).dialog("close");
},
"Cancel": function () {
$(this).dialog("close");
}
}
});
return false;
}
showCadEditor();
</script>
</body>
</html>
答案 1 :(得分:0)
我已将position: absolute;
问题修正为对话框内容(#cadEditor
)。