2010-11-10 6 views
2

Я не слишком много знаю о css, поэтому я должен спросить. У меня есть файл css, который, как я считаю, сбрасывает значения. У меня есть еще один css-файл всех значений, которые я хочу. Я вижу, что тэг td перезаписывается файлом сброса.Как переопределить значение css?

display: table-cell; 
vertical-align: inherit; 

Как остановить это? Это значения, которые используются. Я специально не определил эти атрибуты, поскольку я не знаю, что использовать для значений. Есть ли способ переопределить эти значения сброса?

+1

Вы не хотите этого делать. – SLaks

+0

Хорошо, что бы вы предложили мне сделать? – Tom

+1

Ничего. Эти значения верны. – SLaks

ответ

2
<style type="text/css"> 
div#styles { color : red; } 
.override { color : blue!important; } 
</style>  

<div id="styles"> 
<div class="override">Content</div> 
</div> 

Вот «важный» атрибут переопределения специфичности CSS. Используйте его с умом, зная, что он переопределит даже созданные пользователем таблицы стилей (что может быть там по причинам доступности.)

Вы можете узнать больше о CSS specificity here.

+0

Спасибо JulianDroid. Я дам этот выстрел и посмотрю, где он меня принимает. – Tom

+1

Я должен добавить Tom, что атрибут «! Important» обычно является диагностическим инструментом - как правило, для конкретных битв среди ваших определений.Я использую его больше, чем это, но я думал, что просто упомянул бы о том, что ... некоторые люди нахмурились от регулярного использования! Важно, но похоже, что ваш текущий проект требует этого. – jlmakes

3

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

Вам также необходимо убедиться, что ваше переопределение равно или более конкретно.

#content p { color: red; } 

не будет отменено

p { color: blue; } 

даже если они определены позже.

+0

Спасибо, Svish. То, что я получаю, - огромный разрыв между моими входами, и я хочу сократить это пространство. Я думал, что это тег td, но, видимо, это не потому, что он все еще делает то же самое. – Tom

+0

@Tom: Если вы получаете пробелы между тегами ввода, вам нужно проверить значения полей в CSS. – Svish

0

Просто удалите эти определения из файла сброса. Но на самом деле вы этого не хотите. Почему ты не можешь просто оставить их там? Это часть этого файла сброса, потому что эти значения верны и делают правильные вещи.

+0

Я согласен с Алексом, я пытаюсь обойти это, и если я точно смогу выяснить, что вызывает этот большой разрыв между моими входными тегами, я бы скорее исправил его, как предлагалось здесь. – Tom

+0

@Tom Хорошо, я вижу. Можете ли вы отредактировать тело вопроса с содержимым обоих ваших файлов css? – Alex

+0

Алекс, эти файлы огромны. Я просто надеялся, что смогу быстро исправить ситуацию. Я нашел, почему существует такой разрыв между моими тегами imput. Я должен установить поля. Как отметил Ameer, я мог бы использовать «стандартные значения», но я не знаю, как это сделать/ – Tom

0

Вы можете удалить их из файла сброса или переопределить их с помощью «стандартного» значения по умолчанию, например, Дисплей имеет значение по умолчанию встроенного http://www.w3schools.com/css/pr_class_display.asp и вертикальное выравнивание имеют значение по умолчанию базового http://www.w3schools.com/css/pr_pos_vertical-align.asp так что-то вроде:

display: inline; 
vertical-align: baseline; 

должен работать, до тех пор, как вы переопределить их после вы сбросить их.

+0

Да, Ameer, я хочу «стандартное значение». Как мне это сделать? – Tom

+0

Поскольку я пытаюсь судить о том, каковы эти значения, я могу переопределить их, и я предпочел бы просто использовать эти значения по умолчанию, если возможно – Tom

+0

Это стандартные значения. – SLaks

Смежные вопросы