Подтвердить что ты не робот

Как я могу аннулировать свойство css?

В основном у меня есть два внешних css на моей странице.

Первый Main.css содержит все правила стиля, но у меня нет доступа к нему, и поэтому я не могу его изменить. У меня есть доступ ко второму файлу Template.css, поэтому мне нужно переопределить значения Main.css в Template.css.

Это легко, для чего мне нужно изменить значение, но как полностью удалить свойство?

Как сказать, класс .c1 имеет height: 40px;, как мне избавиться от этого свойства height?

4b9b3361

Ответ 1

У вас должно быть reset каждое отдельное свойство обратно по умолчанию. Это не здорово, но это единственный способ, учитывая информацию, которую вы нам дали.

В вашем примере вы бы сделали:

.c1 {
    height: auto;
}

Здесь вы должны искать каждую собственность:

https://developer.mozilla.org/en-US/docs/Web/CSS/Reference

Для пример, height:

Начальное значение: auto

Другой пример, max-height:

Начальное значение: none


В 2017 году есть другой способ: unset ключевое слово:

.c1 {
    height: unset;
}

Некоторая документация: https://developer.mozilla.org/en-US/docs/Web/CSS/unset

Ключевое слово unset CSS - это комбинация начального и наследуемого ключевые слова. Как и эти два других ключевых слова CSS, его можно применить к любое свойство CSS, включая CSS-стенографию. Это ключевое слово сбрасывается свойство к его унаследованному значению, если оно наследуется от его родителя или к его первоначальному значению, если нет. Другими словами, он ведет себя как наследовать ключевое слово в первом случае и как начальное ключевое слово в второй случай.

Поддержка браузера хорошая: http://caniuse.com/css-unset-value

Ответ 2

например, класс .c1 имеет высоту: 40 пикселей; как я могу избавиться от этого свойства height?

К сожалению, вы не можете. CSS не имеет "заполнителя" по умолчанию.

В этом случае вы должны reset использовать свойство

 height: auto;

как @Ben правильно указывает, в некоторых случаях inherit - правильный путь, например, при сбросе цвета текста элемента a (это свойство наследуется от родительского элемента):

a { color: inherit }

Ответ 3

В CSS3 добавляется ключевое слово initial, чтобы авторы могли явно указать это начальное значение.

Ответ 4

.c1 {
    height: unset;
}

Значение unset, добавленное в CSS3, также решает эту проблему, а - еще более универсальный метод, чем auto или initial, потому что он устанавливает для каждого свойства CSS значение по умолчанию и, кроме того, его поведение по умолчанию относительно его родителя.

Обратите внимание, что значение initial нарушает вышеупомянутое поведение.

От MDN:

Подобно этим двум другим ключевым словам CSS, он может применяться к любому свойству CSS, включая сокращенную CSS all. Это ключевое слово сбрасывает свойство до унаследованного значения, если оно наследуется от его родителя или его начального значения, если нет.

Ответ 5

Чтобы избавиться от свойства фиксированной высоты, вы можете установить его значение по умолчанию:

height: auto;

Ответ 6

Вам нужно предоставить селектор с более высоким specificity, чем тот, который находится в Main.css. С помощью этого селектора установите значения свойств, которые вы хотите по умолчанию, например

body .c1 {
    height: auto;
}

Нет значения "по умолчанию", которое будет работать для всех свойств, вам нужно посмотреть, что по умолчанию для каждого, и использовать его.

Ответ 7

У меня возникла проблема, что даже когда я переписывал "высоту" на "unset" или "initial", это отличалось от того, когда я удалил предыдущую настройку.

Оказалось, что мне нужно также удалить свойство min-height!

height: unset;
min-height: none

Изменить: я тестировал в IE 7 и не распознал "unset", поэтому "auto" работает лучше ".