我试图隐藏jQuery-ui dialog的标题栏,但保持标题栏中的关闭按钮可见。我已经在 stackoverflow 上搜索了很多这样的帖子。在每篇文章中,标题栏是隐藏的,但栏所占用的空间仍然存在。我也想删除该空间,但不删除关闭按钮。
我怎样才能做到这一点?
我试图隐藏jQuery-ui dialog的标题栏,但保持标题栏中的关闭按钮可见。我已经在 stackoverflow 上搜索了很多这样的帖子。在每篇文章中,标题栏是隐藏的,但栏所占用的空间仍然存在。我也想删除该空间,但不删除关闭按钮。
我怎样才能做到这一点?
基于这个答案:
使用.dialog("widget")
选项来定位对话框的 div 包装器。包装器包含用于对话框的所有标记,包括标题、标题栏和关闭按钮;和对话内容本身。这是调用该方法并隐藏标题栏的一种方法:
$("#id").dialog({
autoOpen: false
}).dialog("widget").find(".ui-dialog-title").hide();
然后,您可以使用 CSS 来消除不必要的边距、边框和填充。例如:
.ui-dialog-titlebar {
float: right;
border: 0;
padding: 0;
}
.ui-dialog-titlebar-close {
top: 0;
right: 0;
margin: 0;
z-index: 999;
}
这是一个基于上述代码的演示,它使用 jQuery 添加了必要的样式。
如果要删除标题栏并仅使用样式保留关闭图标,请使用以下样式。它将标题栏缩小到关闭图标的大小并将其隐藏在后面。ui-icons_6e6e6e_256x240.png 我是通过减轻 jqueryui 自带的 ui-icons_222222_256x240.png 图像创建的。
.ui-dialog .ui-dialog-titlebar.ui-widget-header{background: none; border: none; height: 20px; width: 20px; padding: 0px; position: static; float: right; margin: 0px 2px 0px 0px;}
.ui-dialog-titlebar.ui-widget-header .ui-dialog-title{display: none;}
.ui-dialog-titlebar.ui-widget-header .ui-button{background: none; border: 1px solid #CCCCCC;}
.ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close{margin: 0px; position: static;}
.ui-dialog .dialog.ui-dialog-content{padding: 0px 10px 10px 10px;}
.ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close .ui-icon{position: relative; margin-top: 0px; margin-left: 0px; top: 0px; left: 0px;}
.ui-dialog .ui-dialog-titlebar .ui-state-default .ui-icon {background-image: url("/css/ui-lightness/images/ui-icons_6e6e6e_256x240.png");}
.ui-dialog .ui-dialog-titlebar .ui-state-hover .ui-icon {background-image: url("/css/ui-lightness/images/ui-icons_222222_256x240.png");}
在我看来,你有 3 个选择。
任何一个都有其优缺点,如果可以的话,我会推荐#2 最好的,这里有一些关于如何使用小部件的信息http://api.jqueryui.com/jQuery.widget/
这是如何做到的。
转到主题文件夹-> 基础-> 打开 jquery.ui.dialog.css
寻找
关注者
如果您不想显示 titleBar 则只需设置 display:none 就像我在下面所做的那样。
.ui dialog.ui-dialog .ui-dialog-titlebar
{
padding: .4em 1em;
position: relative;
display:none;
}
同样的标题。
.ui-dialog .ui-dialog-title {
float: left;
margin: .1em 0;
white-space: nowrap;
width: 90%;
overflow: hidden;
text-overflow: ellipsis;
display:none;
}
现在是关闭按钮,您也可以将其设置为无,或者您可以将其设置为
.ui-dialog .ui-dialog-titlebar-close {
position: absolute;
right: .3em;
top: 50%;
width: 21px;
margin: -10px 0 0 0;
padding: 1px;
height: 20px;
display:none;
}
我做了很多搜索,但什么也没有,然后我就想到了这个想法。但是,这会影响整个应用程序没有关闭按钮,对话框的标题栏,但您也可以通过使用 jquery 并通过 jquery 添加和设置 css 来克服这个问题
这是这个的语法
$(".specificclass").css({display:normal})