Почему мой для цикла останавливающийся после одного повторения?

Причина, которую я задал этому вопросу, состояла в том, что я забыл, как использовать 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 раза размер того размера шрифта.

5
задан chaos 27 August 2009 в 20:16
поделиться

3 ответа

Возможно, это связано с вашей неспособностью определить область видимости вашей переменной счетчика, особенно если вы привыкли к этому (поскольку вы используете глобальную переменную с этим именем и любые циклы, которые вы написали в любом код, который вы вызываете, может делать то же самое). Попробуйте:

for(var i=0;i<iterations;i++)
11
ответ дан 13 December 2019 в 05:39
поделиться

because this.equations = this.json.equations || [] , and, since this.json.equations is undefined, it get assigned to []

1
ответ дан 13 December 2019 в 05:39
поделиться

Предполагая, что вы используете 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 ,

0
ответ дан 13 December 2019 в 05:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: