php7:
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php7.0-fpm
sudo service apache2 restart
Вы можете использовать оба. Стиль css переопределит атрибут size
в браузерах, поддерживающих CSS, и сделает поле правильной шириной, а для тех, кто этого не сделает, он вернется к указанному числу символов.
Редактировать : Я должен был упомянуть, что атрибут size
не является точным методом калибровки: в соответствии со спецификацией HTML , он должен ссылаться на количество символов текущий шрифт, который будет отображаться сразу.
Однако, если указанный шрифт не является шрифтом с фиксированной шириной / моношириной, это not гарантирует, что указанное количество символов будет фактически видимым; в большинстве шрифтов разные символы будут различной ширины. В этом вопросе есть некоторые хорошие ответы, связанные с этой проблемой.
В приведенном ниже фрагменте показаны оба подхода.
@font-face {
font-family: 'Diplomata';
font-style: normal;
font-weight: 400;
src: local('Diplomata'), local('Diplomata-Regular'), url(https://fonts.gstatic.com/s/diplomata/v8/8UgOK_RUxkBbV-q561I6kFtXRa8TVwTICgirnJhmVJw.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}
@font-face {
font-family: 'Open Sans Condensed';
font-style: normal;
font-weight: 300;
src: local('Open Sans Condensed Light'), local('OpenSansCondensed-Light'), url(https://fonts.gstatic.com/s/opensanscondensed/v11/gk5FxslNkTTHtojXrkp-xBEur64QvLD-0IbiAdTUNXE.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}
p {
margin: 0 0 10px 0;
}
input {
font-size: 20px;
}
.narrow-font {
font-family: 'Open Sans Condensed', sans-serif;
}
.wide-font {
font-family: 'Diplomata', cursive;
}
.set-width {
width: 220px;
}
<p>
<input type="text" size="10" class="narrow-font" value="0123456789" />
</p>
<p>
<input type="text" size="10" class="wide-font" value="0123456789" />
</p>
<p>
<input type="text" size="10" class="narrow-font set-width" value="0123456789" />
</p>
<p>
<input type="text" size="10" class="wide-font set-width" value="0123456789" />
</p>
HTML управляет семантическим значением элементов. CSS управляет макетом / стилем страницы. Используйте CSS, когда вы контролируете свой макет.
Короче говоря, никогда не используйте size = ""
size
несовместимо в разных браузерах и их возможных настройках шрифта.
Стиль width
, установленный в px, будет по крайней мере согласован, по модулю вопросам выбора размера окна , Вы также можете установить стиль в «em», если хотите его по размеру относительно шрифта (хотя, опять же, это будет непоследовательно, если вы явно не зададите семейство и размер входного файла font
) или «%», если вы делают форму для макета жидкости. В любом случае, таблица стилей, вероятно, предпочтительнее для встроенного атрибута style
.
Вам все еще нужно size
для <select multiple>
, чтобы высота соответствовала соответствующим параметрам. Но я не использовал его на <input>
.
Я хочу сказать, что это противоречит «обычной мудрости», но я обычно предпочитаю использовать размер. Причина этого - причина, по которой многие люди не говорят: ширина поля будет варьироваться от браузера к браузеру, в зависимости от размера шрифта. В частности, он всегда будет достаточно большим, чтобы отображать указанное количество символов, независимо от настроек браузера.
Например, если у меня есть поле даты, я обычно хочу, чтобы поле было достаточно большим, чтобы отображать 8 или 10 символов (две цифры месяца и дня и два или четыре цифры года с разделителями). Установка атрибута размера по существу гарантирует мне, что вся дата будет видна с минимальным затраченным пространством. Аналогично для большинства чисел - я знаю диапазон ожидаемых значений, поэтому я устанавливаю атрибут size в соответствующее количество цифр, а также десятичную точку, если это применимо.
Насколько я могу судить, ни один CSS атрибут делает это. Например, установка ширины в em основана на высоте, а не на ширине, и поэтому не очень точная, если вы хотите отобразить известное количество символов.
Конечно, эта логика не " t всегда применяется - поле ввода имени, например, может содержать любое количество символов. В этих случаях я вернусь к свойствам ширины CSS, обычно в px. Однако я бы сказал, что большинство полей, которые я создаю, имеют какой-то известный контент, и, указав атрибут size, я могу убедиться, что наиболее содержимого в наиболее случаев, отображается без обрезки.
ex
для этого, хотя использование размера по-прежнему упрощает большинство случаев, не имея десятков идентификаторов / классов в вашем CSS для ширины.
– Forty
28 October 2017 в 18:06
ex
является height i> символа (в частности, «X»), а не ширины - точно так же, как em
. Поскольку не существует фиксированной связи между высотой и шириной символа (x или иначе), нет оснований полагать, что использование высоты символа для установки ширины поля сделает поле правильной шириной, чтобы показать любое заданное количество символов. В зависимости от шрифта он может быть более широким или узким. Теперь блок ch
выглядит многообещающим, но не поддерживается в IE менее 9, что было бы проблемой, когда я это написал.
– ibrewster
29 October 2017 в 17:44
ch
может быть лучше, к сожалению, некоторые нули тонкие, и это может не измерить полное пространство символов ...
– Forty
30 October 2017 в 13:47
size
стремится сделать именно это. Возможно, вы правы, что ex
является разумной альтернативой, но факт остается фактом: атрибут высоты, а не атрибут ширины. size
является атрибутом width, а не css.
– ibrewster
30 October 2017 в 14:38
Я только что столкнулся с борьбой с таблицей, которую я не мог сделать меньше, независимо от того, какой элемент, который я пытался сделать, уменьшил ширину таблицы, остался прежним. Я искал с помощью firebug, но не смог найти элемент, который так сильно устанавливал ширину.
Наконец, я попытался изменить атрибут размера входных текстовых элементов и зафиксировал его. По какой-то причине атрибут размера превысил ширину css. Я использовал jQuery для динамического добавления строк в таблицу, и именно эти строки содержали входы. Поэтому, возможно, когда речь заходит о динамическом добавлении входов с помощью функции appendTo (), возможно, лучше установить атрибут размера вместе с шириной.
Вы получите большую согласованность, если используете ширину (ваш второй пример).
Я предлагаю, вероятно, лучший способ - установить ширину стиля в em-единице :) Итак, для размера ввода 20 символов просто установите style='width:20em'
:)