Календарът на jQuery UI се показва твърде голям, искате ли демонстрационния размер?

Така че изтеглих персонализиран тематичен потребителски интерфейс за jQuery и добавих контролата на календара към моя сайт (Пример: текст на връзката ). В примера той показва/показва размера, който бих искал, но на моята уеб страница е около два пъти по-голям. защо???

Имам много други CSS, но нямам контрол върху външния вид и усещането на страницата (Не мога да докосна текущия CSS, MEH!!). Има ли начин да направя демонстрационния изглед на моя сайт?

Мисля, че това е кодът, който има UI на jQuery, който може да усложни нещата

/* Component containers
----------------------------------*/
.ui-widget { font-family: Arial, Helvetica, Verdana, sans-serif; font-size: 1.1em; }
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Arial, Helvetica, Verdana, sans-serif; font-size: 1em; }
.ui-widget-content { border: 1px solid #B9C4CE; background: #ffffff url(../images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #616161; }
.ui-widget-content a { color: #616161; }
.ui-widget-header { border: 1px solid #467AA7; background: #467AA7 url(../images/ui-bg_highlight-soft_75_467AA7_1x100.png) 50% 50% repeat-x; color: #fff; font-weight: bold; }
.ui-widget-header a { color: #fff; }

Това е част от потребителския потребителски интерфейс CSS


person Phill Pafford    schedule 18.06.2009    source източник
comment
но изглежда, че демонстрацията също има зачеркване   -  person Phill Pafford    schedule 19.06.2009
comment
Знам, този въпрос е на повече от година, но ми беше много полезен, благодаря!   -  person astorcas    schedule 13.09.2010
comment
Същото, току-що намерих това и ми трябваше. Ура Stack Overflow.   -  person Eric    schedule 22.06.2011


Отговори (12)


Разбрах го. Размерът на шрифта беше този, който отхвърляше всичко. Добавих този етикет, за да покажа правилно размера, който исках:

#ui-datepicker-div { font-size: 12px; } 

Работи чудесно, ако някой друг има нужда от нещо подобно

person Phill Pafford    schedule 22.06.2009
comment
Бележка за бъдещето: Вместо това използвайте класа ui-widget, тъй като този проблем засяга други уиджети. .ui-widget { font-size: 12px; } - person Incognito; 05.01.2011
comment
Промяна на 12px; не работи за мен. Трябваше да го сменя на .6em - person markthegrea; 23.09.2011
comment
@Incognito не проработи промяна на .ui-джаджата за мен. Трябваше да се променя, както каза Фил. - person Diego Jancic; 10.10.2012
comment
Благодаря Фил, това просто ми помогна. - person Michael; 29.01.2013
comment
ура!! SharePoint 2010 по някакъв начин промени размера на шрифта и причини този проблем. Това го реши. Благодаря! - person skinneejoe; 04.06.2013
comment
Какво ще стане, ако имате повече от един инструмент за избор на дата на страницата - не съм сигурен защо дори има свойство за id на това, като се има предвид, че множество инструменти за избор на дата със сигурност са често срещани. Изглежда, че поне трябва да се прилага към класа, а не към идентификатора. - person sydneyos; 26.10.2013
comment
@sydneyos - Използва само 1 екземпляр за избор на дата, тъй като показва само 1 инструмент за избор на дата наведнъж, така че не е необходимо да създава допълнителни инструменти за избор на дата за всеки календар, който показвате. Следователно стойността на id е приемлива и се потвърждава напълно добре... - person Solomon Closson; 15.04.2014

.ui-widget{ font-size: 0.8em; }

Това е решението, но това, което не знаех е, ако го поставите в елемента head по следния начин:

<style type="text/css">
.ui-widget { font-family: Lucida Grande, Lucida Sans, Arial, sans-serif; font-size: 0.8em; }
</style>

Той отменя други настройки, така че пак можете да заредите хоствания от Google css, но използвайте това, за да го отмените =)

person gideon    schedule 05.10.2010
comment
само ако го поставите след css връзката. Трябва да е по-ниско на страницата, за да отмени. Дефинирането на това преди CSS връзката няма да има ефект. - person jcolebrand; 11.10.2011
comment
+1: както каза jcolebrand, трябва да го поставим след, но можем да използваме версията, хоствана от Google. - person Felice Pollano; 17.10.2011

За да коригирате размера на контролата на календара, променете това:

.ui-widget { font-family: Lucida Grande, Lucida Sans, Arial, sans-serif; font-size: 1.1 em; }

до това:

.ui-widget { font-family: Lucida Grande, Lucida Sans, Arial, sans-serif; font-size: 0.8em; }

За подробни инструкции, моля, посетете - http://blog.greatdevelopers.com/?p=33

person Shekhar Agarwal    schedule 22.08.2010

Ако искате да зададете размер на шрифта или семейство шрифтове за всички джаджи на jQuery, би било по-добре да зададете нещо подобно:

.ui-widget {
    font-size: .7em;
}

след извикването за зареждане на jQuery UI CSS файлове.

Всички компоненти на потребителския интерфейс на jQuery са уиджети и наследяват стила .ui-widget на най-високо ниво.

person Community    schedule 16.06.2010

DOM инспектор (напр. Firebug, IE Developer Toolbar и т.н.) трябва да ви помогне да определите кои CSS стилове засягат вашия календар.

Може би която и страна да ви забранява да докосвате CSS, ще ви позволи да управлявате свободно в контейнер? т.е.

<div id="foo">Your stuff goes here. All your selectors must start with #foo</div>

Ако не, вие очевидно имате контрол над JS. Трябва да можете да пишете вградени стилове с това.

РЕДАКТИРАНЕ

Може също да видите дали можете да обвиете съдържанието си във вградена рамка.

person steamer25    schedule 18.06.2009
comment
Понякога се чудя защо изобщо отговарям - винаги някой ме изпреварва и обикновено с по-добър отговор! - person ScottE; 18.06.2009
comment
Изглежда, че някои от CSS имат зачеркване: Вижте публикацията за редактиране - person Phill Pafford; 19.06.2009
comment
@Phil Не съм сигурен какво имаш предвид. Може ли да бъдеш по-точен? Не виждам зачертаване или имам етикети ‹strike› в публикацията си. - person steamer25; 19.06.2009

За да направя календара си по-малък, трябваше да направя още няколко промени в css.
Както някои други хора вече споменаха, добавих следния ред към етикет за стил в моята страница (така че не засяга всички другите инструменти за избор на дати на моя сайт)

div.ui-datepicker{ font-size:7px;}

Но това само направи размера на заглавието по-малък (месец година). За да направя етикетите на дните от седмицата и номерата на дните по-малки, трябваше също да копирам следните два реда от jquery-ui-1.8.18.custom.css и да ги поставя в моята страница, но след това трябваше да добавя и шрифта - спецификации на размера и за двете.

.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0;}
.ui-datepicker td { border: 0; padding: 1px; }

И така, това, което завърших, е следното:

<style type="text/css">
div.ui-datepicker{ font-size:7px;}
.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; font-size: 1.6em;}
.ui-datepicker td { border: 0; padding: 1px; font-size: 1.6em;}
</style>

Това ми позволява да контролирам размера на шрифта за дата и година, етикети за дни от седмицата и номера на дати.

person Vincent    schedule 07.05.2012

Ще ви препоръчам да използвате

.ui-datepicker { font-size:10px !important; }

вместо да използвате

#ui-datepicker-div { font-size:10px !important; }

тъй като селекторите на клас css имат по-широк обхват в сравнение с използването на селектори на елементи, които са само за конкретен елемент. Всичко, което трябва да направите, е да създадете друг html елемент от типа class и не е нужно да се притеснявате за абсолютно нищо.

Във вашия проблем обаче не е нужно да правите нищо, просто добавете селектора на клас към вашия собствен css файл, НЕ този за jquery-ui, и сте подредени, ако трябва да създадете друг избор на дати, няма да се притеснявате модифициране на css отново по този начин.

person A Malik    schedule 17.07.2012

Използвайте CSS мащабиране

.ui-widget{ 
    -ms-transform: translate(-15%,-15%) scale(0.7);//translate must be before scale
    -moz-transform: translate(-15%,-15%) scale(0.7);
    -webkit-transform: translate(-15%,-15%) scale(0.7);
    transform: translate(-15%,-15%) scale(0.7);
}

В кода по-горе използвах "sclale(0.7)", което означава, че новата ширина и височина ще бъдат 70% от първоначалните стойности. Елементът след трансформация ще има същия център на оригиналния елемент, следователно намаляване на 30% от ширината, което означава намаляване на 15% отляво и 15% отдясно, същото нещо за височината. Така че трябва да използваме превод, за да преместим новия елемент горе вляво. "translate" трябва да е преди "scale", така че "15%" ще бъде 15% от оригиналната ширина (т.е. преди да мащабираме), а не от новата ширина след трансформацията.

въведете описание на изображението тук

person Billel Hacaine    schedule 20.06.2015
comment
Брилянтно! Работи като чар. Сега просто трябва да го центрирам. Той е в долния десен ъгъл на div, в който искам да е центриран, но изглежда страхотно!! - person clearlight; 24.02.2017
comment
@clearlight FYI: редактирах отговора, като добавих код, за да го центрирам. - person Billel Hacaine; 24.02.2017
comment
Защо използвате фиксирана константа, а не нещо пропорционално или 2d translate() или translate-origin? Опитах се да се забъркам с него днес, но все още не можах да разбера точно защо се мащабира към долния десен ъгъл или какви съотношения се прилагат. Направих хакерска манипулация, но бих предпочел да проверя правилната подложка и взаимоотношения и да ги разбера по-добре, ако е възможно, вместо да ги хакна. - person clearlight; 24.02.2017
comment
@clearlight FYI: Подобрих отговора, използвайки вашите предложения. Сега работи като чар. - person Billel Hacaine; 25.02.2017

Проверете дали нямате css конфликти на вашата страница - например html/body или настройки за размер на шрифта на контейнера, които ще се прехвърлят надолу към календара.

person ScottE    schedule 18.06.2009

Какъвто и размер да искате, можете да зададете, като редактирате този ред в css.

.ui-widget { font-family: Arial, Helvetica, Verdana, sans-serif; font-size: 1.1em; }

просто дайте друг размер на шрифта като .5em или .8em

 .ui-widget { font-family: Arial, Helvetica, Verdana, sans-serif; font-size: .5em; }

Ще работи, нямам го.

person Praveen kumar Agrawal    schedule 20.08.2010

Това е просто: Jquery-ui просто върши работата си, използвайки обектен стил. Имам предвид :

<html>
   <body
     <input type="text" id="date"/>
     <script type="text/javascript"> $("#date").datepicker()</script>
   </body>
</html>

Размерът на номера на датата и името на месеца ще бъде зададен в зависимост от: $("#date").css("font-size"). Така че, ако входът има 6px като размер на шрифта, инструментът за избор на дата ще изглежда малък. Ако размерът на шрифта е 42pt, това ще бъде избор на дата на сляпо!

person N Joly    schedule 20.08.2012

Случайно попаднах на това, но опитайте да добавите DOCTYPE html към вашия документ

<!DOCTYPE html>
<html>
    <body>
    </body>
</html>

преди вашия отварящ html таг.

person Michael    schedule 03.10.2012