Я пытаюсь скрыть вывод HTML, на который у меня нет контроля. Один из элементов - div
с атрибутом style="overflow: auto"
.
Есть ли способ в CSS, чтобы заставить div
использовать overflow: hidden;
?
Есть ли способ заставить стиль к элементу div, который уже имеет атрибут style = ""
Ответ 1
Вы можете добавить !important
в конец вашего стиля, например:
element {
overflow: hidden !important;
}
Это то, на что вы не должны полагаться обычно, но в вашем случае это лучший вариант. Изменение значения в Javascript offys из наилучшей практики разделения разметки, представления и поведения (html/css/javascript).
Ответ 2
Вы пытались установить !important
в файле CSS? Что-то вроде:
#mydiv { overflow: hidden !important; }
Ответ 3
Не уверен, что это будет работать или нет, не проверял его с помощью overflow
.
overflow:hidden !important
может быть?
Ответ 4
Если div имеет встроенное объявление стиля, единственный способ изменить его без изменения источника - с помощью JavaScript. Inline style атрибуты "выигрывают" каждый раз в CSS.
Ответ 5
Magnar является правильным, как объясняется спецификацией W3C, вставленной ниже. Кажется, было добавлено ключевое слово! Important, позволяющее пользователям переопределять даже "запеченные" параметры стиля на уровне элемента. Поскольку вы находитесь в ситуации, когда у вас нет контроля над html, это может быть вашим лучшим вариантом, хотя это не будет нормальным шаблоном проектирования.
Выдержки:
6.4.2! важные правила CSS пытается создать баланс сил между автором и пользовательским стилем листы. По умолчанию правила в таблица стилей автора переопределяют таблица стилей пользователя (см. правило каскада 3).
However, for balance, an "!important" declaration (the keywords
"!" и "важные" следуют объявление) имеет приоритет над нормальное объявление. И автор, и таблицы стилей пользователя могут содержать "важные" объявления и пользователь "важные" правила переопределяют автора "важные" правила. Эта функция CSS улучшает доступность документов посредством предоставление пользователям особых требований (большие шрифты, цветовые комбинации, и т.д.) контроль над представлением.
Note. This is a semantic change since CSS1. In CSS1, author
"важные" правила имели приоритет над пользовательскими "важными" правилами.
Declaring a shorthand property (e.g., 'background') to be
"! important" эквивалентно объявление всех его под-свойств быть "важным".
Example(s): The first rule in the user style sheet in the following example
содержит объявление "! important", который перекрывает соответствующие декларация в стилях автора лист. Вторая декларация будет также выиграть из-за того, "!важный". Однако третье правило в листе пользовательского стиля нет "важно" и поэтому потеряет ко второму правилу в авторском таблицу стилей (которая устанавливается стиль по сокращенному имуществу). Также, третье правило автора проиграет второе авторское правило со второго правило "важно". Это показывает, что "Важные" декларации имеют функция также в стиле автора листы.
/* From the user style sheet */ P { text-indent: 1em ! important } P { font-style: italic ! important } P { font-size: 18pt } /* From the author style sheet */ P { text-indent: 1.5em !important } P { font: 12pt sans-serif !important } P { font-size: 24pt }
Ответ 6
Насколько я знаю, стили на реальных элементах HTML переопределяют все, что вы можете сделать в отдельном стиле CSS.
Однако вы можете использовать Javascript для его отмены.