Javascript 显示jQuery';屏幕中央有一个日期选择器

Javascript 显示jQuery';屏幕中央有一个日期选择器,javascript,jquery,css,Javascript,Jquery,Css,以下是默认情况下生成的代码 <div id="ui-datepicker-div" class="ui-datepicker ui-widget ui-widget-content ui-helper- clearfix ui-corner-all ui-datepicker-multi ui-datepicker-multi-2" style="width: 34em; position: absolute; left: 349px; top: 453px; z-in

以下是默认情况下生成的代码

<div id="ui-datepicker-div" class="ui-datepicker 
  ui-widget ui-widget-content ui-helper-  clearfix ui-corner-all 
  ui-datepicker-multi ui-datepicker-multi-2" style="width: 34em; 
  position: absolute; left: 349px; top: 453px; z-index: 1; display: block; ">

问题是datepicker显示在触发器输入的旁边,而不是我想要它的中心

您可以在此处看到演示站点:



有人知道如何使用javascript将
.ui日期选择器
类置于中心位置吗?CSS显然不起作用。

通过CSS可以快速而肮脏地完成您想要的任务。您可以直接重写jQueryUI样式,也可以将一些样式添加到您自己的样式表中。这依赖于使用“!important”,但它是有效的,并且您没有深入挖掘UI代码

下面是您可以添加到自己的样式表中的内容。您需要调整正在生成的日期选择器的大小。这是我刚才用的尺寸


在CSS中使用“!important”是一个应该避免的拐杖,但它只是展示了如何做到这一点……

通过CSS可以快速而肮脏地完成您想要的事情。您可以直接重写jQueryUI样式,也可以将一些样式添加到您自己的样式表中。这依赖于使用“!important”,但它是有效的,并且您没有深入挖掘UI代码

下面是您可以添加到自己的样式表中的内容。您需要调整正在生成的日期选择器的大小。这是我刚才用的尺寸

在CSS中使用“!important”是一个应该避免的拐杖,但它只是展示了如何做到这一点…

如果使用该方法,它会接受一个参数,
pos
,它是一个坐标数组(上/左),位于您希望对话框出现的位置

此解决方案要求计算顶部和左侧的值,使对话框看起来位于页面的中心。这取决于长方体的大小和视口的大小,您可以通过
$(窗口).height()和
$(窗口).width()来确定。您必须在运行中生成它。

如果使用该方法,它会接受一个参数,
pos
,它是您希望对话框显示位置的坐标数组(上/左)


此解决方案要求计算顶部和左侧的值,使对话框看起来位于页面的中心。这取决于长方体的大小和视口的大小,您可以通过
$(窗口).height()和
$(窗口).width()来确定。您必须动态生成此文件。

垂直或水平居中?垂直和水平两种:)-看起来人们认为css会起作用。垂直居中或水平居中?垂直和水平两种:)-看起来人们认为css会起作用。自动居中版本:-这将使其适用于移动设备(我认为这是最常见的用例)Automatic center版本:-这将使其固定在移动设备上(我认为这是最常见的用例)
#ui-datepicker-div {
position: absolute !important;
left: 50% !important;
top: 50% !important;
margin-left: -96px; /* approx half the height of the datepicker div - adjust based on your size */
margin-top: -73px; /* half the height of the datepicker div - adjust based on your size */
}