Как изменить размер элемента управления jQuery DatePicker
Я впервые использую элемент управления jQuery DatePicker. Я работаю над своей формой, но она примерно в два раза больше, чем мне хотелось бы, и примерно в 1,5 раза больше, чем демо на странице пользовательского интерфейса jQuery. Есть ли какая-то простая настройка, которую мне не хватает, чтобы контролировать размер?
Edit: я нашел ключ, но он открывает новые проблемы. В файле CSS указывается, что компонент будет масштабироваться в соответствии с размером шрифта родительского элемента. Они рекомендуют устанавливать
body {font-size: 62.5%;}
сделать 1эм = 10 ПКС. Это дает мне хороший размер datepicker, но, очевидно, он испортит остальную часть моего сайта (в настоящее время у меня есть размер шрифта: .9em).
Я попытался бросить DIV вокруг моего текстового поля и установить его размер шрифта, но он, похоже, игнорирует это. Таким образом, должен быть какой-то способ уменьшить datepicker, изменив шрифт его родителя, но как это сделать, не испортив остальную часть моего сайта?
21 ответов
вам не нужно менять его в файле css jQuery-ui (это может запутать, если вы измените файлы по умолчанию), достаточно добавить
div.ui-datepicker{
font-size:10px;
}
в таблице стилей, загруженной после ui-файлов
div.ui-datepicker необходим в случае, если ui-widget упоминается после ui-datepicker в объявлении
Я не могу добавить комментарий, поэтому это относится к принятому ответу Keijro. Вместо этого я добавил в таблицу стилей следующее:
div.ui-datepicker {
font-size: 62.5%;
}
и это сработало. Это может быть предпочтительнее абсолютного значения 10px.
Не уверен, что какой-то орган предложил следующий способ, если да, просто игнорируйте мои комментарии. Я проверил это сегодня, и это работает для меня. Просто изменив размер шрифта перед отображением элемента управления:
$('#event_date').datepicker({
showButtonPanel: true,
dateFormat: "mm/dd/yy",
beforeShow: function(){
$(".ui-datepicker").css('font-size', 12)
}
});
использование функции обратного вызова beforeShow
Я изменяю следующую строку в ui.тема.css:
.ui-widget { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1.1em; }
в:
.ui-widget { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 12px; }
добавить
div.ui-datepicker, .ui-datepicker td{
font-size:10px;
}
в таблице стилей, загруженной после ui-файлов. Это также изменит размер элементов даты.
для меня это было самое простое решение:
Я добавил font-size:62.5%;
до первого .ui-datepicker
тег в пользовательском css-файле jquery:
перед:
.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none;}
после:
.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; font-size:62.5%; }
Я пробовал эти примеры без успеха. По-видимому, другие таблицы стилей на странице устанавливали размеры шрифтов по умолчанию для разных тегов. Если вы настраиваете ui-datepicker, вы меняете div. Если вы измените div, вам нужно убедиться, что содержимое этого div наследует этот размер. Вот что, наконец, сработало для меня:
<style type="text/css">
.ui-datepicker-calendar tr, .ui-datepicker-calendar td, .ui-datepicker-calendar td a, .ui-datepicker-calendar th{font-size:inherit;}
div.ui-datepicker{font-size:16px;width:inherit;height:inherit;}
.ui-datepicker-title span{font-size:16px;}
</style>
удачи!
я использовал ввод для сбора и отображения календаря, а также для изменения размера календаря я использовал этот код:
div.ui-datepicker, .ui-datepicker input{font-size:62.5%;}
это работает как шарм.
это работает для меня и кажется простым...
$(function() {
$('#inlineDatepicker').datepicker({onSelect: showDate, defaultDate: '01/01/2010'});
});
<div style="font-size:75%";>
<div id="inlineDatepicker"></div>
</div>
with out changing the css file you can also change the calendar size by putting the the following code in to ur <head>.....</head> tag:
<head>
<meta charset="utf-8" />
<title>jQuery UI Datepicker - Icon trigger</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css" />
<style type="text/css">
.ui-widget { font-family: Lucida Grande, Lucida Sans, Arial, sans-serif; font-size: 0.6em; }
</style>
<script>
$(function() {
$( "#datepicker" ).datepicker({
//font-size:10px;
//numberOfMonths: 3,
showButtonPanel: true,
showOn: 'button',
buttonImage: "images/calendar1.gif",
buttonImageOnly: true
});
});
</script>
</head>
Я попытался использовать функцию обратного вызова beforeShow, но обнаружил, что мне также нужно установить высоту линии. Моя версия выглядела так:
beforeShow: function(){$j('.ui-datepicker').css({'font-size': 11, 'line-height': 1.2})}
лучшее место для изменения размера календаря находится в файле jquery-ui.в CSS
/* Component containers
----------------------------------*/
.ui-widget {
font-family: Verdana,Arial,sans-serif;
font-size: .7em; /* <--default is 1.1em */
}
этот код будет работать на кнопках Каландра. размер чисел будет увеличиваться с помощью "line-height".
/* Change Size */
<style>
.ui-datepicker{
font-size:16px;
line-height: 1.3;
}
</style>
вы можете изменить jquery-ui-1.10.4.традиция.CSS следующим образом
.ui-widget
{
font-family: Lucida Grande,Lucida Sans,Arial,sans-serif;
font-size: 0.6em;
}
другой подход:
$('.your-container').datepicker({
beforeShow: function(input, datepickerInstance) {
datepickerInstance.dpDiv.css('font-size', '11px');
}
});
$('div.ui-datepicker').css({ fontSize: '12px' });
работа, если мы называем его после
$("#DueDate").datepicker();
решение Jacob Tsui идеально подходит для меня:
$('#event_date').datepicker({
showButtonPanel: true,
dateFormat: "mm/dd/yy",
beforeShow: function(){
$(".ui-datepicker").css('font-size', 12)
}
});
Я думаю, что нашел его - мне пришлось войти в файл CSS и изменить размер шрифта для элемента управления datepicker напрямую. Очевидно, как только вы знаете об этом, но сначала сбивает с толку.
открыть ИП.все.в CSS
в конце ставить
@import "ui.base.css";
@import "ui.theme.css";
div.ui-datepicker {
font-size: 62.5%;
}
и вперед !
чтобы заставить это работать в Safari 5.1 с Rails 3.1, мне пришлось добавить:
.ui-datepicker, .ui-datepicker a{
font-size:10px;
}