Установка width:auto приводит к width:100%

Я немного устал прямо сейчас (из кофе), таким образом, я не могу понять это.

Когда я установил p.style.width = auto (синий), почему width в 100%? Ни одному из элементов не установили их ширину на 100%, таким образом, я сомневаюсь, что это - унаследованное свойство.

Как я могу установить

ширина для соответствия ее ширине содержания плюс дополнение?

Демонстрационная ссылка страницы

11
задан Andrei Gheorghiu 23 October 2016 в 15:19
поделиться

3 ответа

Вы пытаетесь применить универсальную дисперсию к классу. Это не поддерживается. Он поддерживается только для интерфейсов и типов делегата.

Незаконно:

class C<out T>  { }

Законно:

interface C<out T> {}
-121--4213581-

Если вы создаете итератор, лучше всего сначала создать защитную копию и работать над этим итератором.

return new MyIterator(ImmutableList.<T>copyOf(list));
-121--1878239-

Поскольку ширины: auto по умолчанию имеет значение 100% (т.е. за вычетом границ и набивок, см. здесь ), если вы не находитесь в плавающей/позиционированной среде. На самом деле, без

float:left

или

position: absolute

вам совсем не удастся установить минимальную ширину элемента только в CSS. См., например, здесь для получения информации о том, как можно достичь этого в Firefox (только).

Изменить: Вы также можете использовать

display: table;
width: auto;

, но для одного, это также не поддерживается во всех браузерах, и тогда дизайн таблицы может принести вам все виды других проблем.

Изменить 2: Вы можете, как предлагает DisgruntledGoat, также попробовать дисплеи: inline-block . На этой странице представлена реализация между браузерами для IE6 +, FF2 +, Safari 3 + и Opera.

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

Другие правы, Ширина : Авто Устанавливает ширину, чтобы заполнить все доступное пространство.

Одним из решений будет использоваться дисплей: встроенный блок , который должен делать то, что вы хотите. Для совместимости с IE6 лучше всего применить это к встроенному элементу, как . И добавить дисплей: -Moz-Inline-box для Firefox 2 и ранее.

4
ответ дан 3 December 2019 в 05:12
поделиться

если (str.charCodeAt (0) > = 0x590) & & (str.charCodeAt (0) < = 0x5FF), то он считается еврейским символом

-121--237772-

Это нарушающая строка:

class C<out T> 

Как указано в сообщении об ошибке, нельзя применять универсальную дисперсию к классам, только к интерфейсам и делегатам. Это было бы нормально:

interface C<out T>

Выше нет.

Для получения подробной информации см. Создание вариантов универсальных интерфейсов

-121--4213580-

Это все объясняется в спецификации

http://www.w3.org/TR/CSS2/visudet.html#blockwidth

O.O.

По существу, авто означает принятие всех других указанных дополнений, границ и Так что эффективно 100% минус границы, набивка и поля.

Чтобы исправить, просто установите его в соответствие с другими элементами или поместите их все в содержащий элемент с набором шириной.

5
ответ дан 3 December 2019 в 05:12
поделиться