Причина, которую я задал этому вопросу, состояла в том, что я забыл, как использовать em's, как это было некоторое время, я взламывал счастливо в CSS. Люди не заметили, что я сохранил вопрос общим, поскольку я не говорил о калибровке шрифтов по сути. Я больше интересовался тем, как определить стили на [1 118] любой данный элемент блока на странице.
Как Henrik Paul и другие указал на них, пропорционально размеру шрифта, используемому в элементе. Это - обычная практика для определения размеров на элементах блока в пкс, однако, оценивание шрифтов в браузерах обычно повреждает этот дизайн. Изменение размеров шрифтов обычно делается с сочетаниями клавиш Ctrl + + или Ctrl + - . Таким образом, хорошая практика должна использовать em's вместо этого.
Вот пример иллюстрирования. Скажите, что у нас есть тег Div, что мы хотим превратиться в стильное поле даты, у нас может быть код HTML, который похож на это:
July
4
А простая реализация была бы, определяя ширину date-box
класс в пкс:
* { margin: 0; padding: 0; }
p.month { font-size: 10pt; }
p.day { font-size: 24pt; font-weight: bold; }
div.date-box {
background-color: #DD2222;
font-family: Arial, sans-serif;
color: white;
width: 50px;
}
Однако, если мы хотим оценить текст в нашем браузере, дизайн повредится. Текст также выйдет за край вне поля, которое является почти тем же, что происходит с дизайном SO как , flodin указывает. Это вызвано тем, что поле останется тем же размером по ширине, как это заблокировано к 50px
.
А более умный путь состоит в том, чтобы определить ширину в Эмсе вместо этого:
div.date-box {
background-color: #DD2222;
font-family: Arial, sans-serif;
color: white;
width: 2.5em;
}
* { margin: 0; padding: 0; font-size: 10pt; }
// Initial width of date-box = 10 pt x 2.5 em = 25 pt
// Will also work if you used px instead of pt
Тот способ, которым у Вас есть жидкий дизайн на поле даты, т.е. поле, оценит вместе с текстом в пропорции к размеру шрифта, определенному для поля даты. В этом примере размер шрифта определяется в *
как 10 ПБ и оценит 2.5 раза к тому размеру шрифта. Таким образом, при калибровке шрифтов в браузере поле будет иметь 2.5 раза размер того размера шрифта.
Возможно, это связано с вашей неспособностью определить область видимости вашей переменной счетчика, особенно если вы привыкли к этому (поскольку вы используете глобальную переменную с этим именем и любые циклы, которые вы написали в любом код, который вы вызываете, может делать то же самое). Попробуйте:
for(var i=0;i<iterations;i++)
because this.equations = this.json.equations || [] , and, since this.json.equations is undefined, it get assigned to []
Предполагая, что вы используете JSON.parse
, как определено на https://github.com/douglascrockford/ JSON-js / blob / master / json2.js , похоже, ваша строка json не анализируется должным образом:
var string1 = "{solution:'5+6+89',equations:[['5+3=8',23,23],['5+1=6',150,23],['5+3=6',230,23]]}"
JSON.parse(string1); // throws SyntaxError("JSON.parse")
Когда я использую JSON.stringify
,