Мое собственное решение, основанное на jQuery, работает, постепенно увеличивая размер шрифта, пока контейнер не получит большое увеличение высоты (что означает, что он получил разрыв строки). Это довольно просто, но работает достаточно хорошо, и он очень прост в использовании. Вам не нужно ничего знать о шрифте, который используется браузером.
Вы можете играть с ним на http://jsfiddle.net/tubededentifrice/u5y15d0L / 2 /
Волшебство происходит здесь:
var setMaxTextSize=function(jElement) {
//Get and set the font size into data for reuse upon resize
var fontSize=parseInt(jElement.data(quickFitFontSizeData)) || parseInt(jElement.css("font-size"));
jElement.data(quickFitFontSizeData,fontSize);
//Gradually increase font size until the element gets a big increase in height (ie line break)
var i=0;
var previousHeight;
do
{
previousHeight=jElement.height();
jElement.css("font-size",""+(++fontSize)+"px");
}
while(i++<300 && jElement.height()-previousHeight
Объявления метода всегда должны следовать этому шаблону:
[modifiers] returnType methodName([parameters])
Нет правила относительно порядка модификаторов, но они всегда должны предшествовать типу возврата.
Я не знаю, t думаю, что есть какой-то стандартный порядок, люди просто делают, как им заблагорассудится ... Лично я предпочитаю сначала вводить модификатор доступа (public
, private
и т. д.), тогда модификатор static
(если есть), затем модификатор virtual
, abstract
или override
(если применимо).
Подробнее см. спецификацию C # (§10.6)
Нет специального порядка для модификаторов метода.
Ниже приведена формальная грамматика из стандартной спецификации C # ...
Способы объявляются с помощью method-declarations: method-declaration : method-header method-body
method-header: attributes opt метод-модификаторы opt partial opt return-type имя_файла type-parameter-list opt (формальный параметр-список opt ) тип-параметр-ограничения-предложения opt
**** методы-модификаторы: **** новое общедоступное защищенное внутреннее личное статическое виртуальное запечатанное переопределение abstract extern return-type: type void member-name: идентификатор типа интерфейса. Идентификатор
Проблема в том, что void
не является модификатором - это тип возврата. Все модификаторы должны появиться перед типом возвращаемого значения.
Я уверен, что есть соглашение о заказе подлинных модификаторов, но я не знаю, где он документирован .
Сначала я всегда писал бы доступность (public и т. д.).
new public protected internal private static virtual sealed override abstract extern async
. Я думаю, что это согласуется с официальными примерами MSDN.
– lordcheeto
21 April 2014 в 21:28