2013-12-12 1 views
2

Я использую jqgrid-4.5.4. Я хочу, чтобы применить тему моего приложения на jqgrid, поэтому пытается переопределить некоторые CSS, как ниже & гораздо больше:Почему в jqgrid css очень много важных правил?

Original : 
.ui-jqgrid .ui-jqgrid-hdiv { 
    border-left: 0 none !important; 
    border-right: 0 none !important; 
    border-top: 0 none !important; 
    margin:  
    overflow-x: hidden; 
    padding: 0; 
    position: relative; 
} 
My theme : 
.ui-jqgrid .ui-jqgrid-hdiv { 
    border: 1px solid #dedede; 
} 

Но из-за важных правил во многих местах в ui.jqgrid.css я не могу чтобы не редактировать исходный файл css jqgrid.

Запрос 1. Почему в файле css содержится так много важных правил?

Query 2. Моя идея состояла в том, чтобы сохранить исходный файл в том виде, в котором он есть, и иметь переопределяющий css в отдельном файле, поэтому при обновлении jqgrid будет легче проходить только изменения в файле темы и обновлении а не находить разницу между старым и новым файлом jqgrid'css. Я тот, кто делает это так или какие-то другие идеи?

Спасибо.

+0

Здравствуйте. Я думаю, вы можете просто создать другой css, переопределив эти значения, как вы, и поместите вызов на ваш css перед вызовом jqgrid css. добавьте ваши значения css в! important тоже, или это будет отменено jqgrid. Но делать это, с большим количеством важных, на самом деле не очень хорошо ... просто удалите их из jqgrid, если вы не хотите расстраиваться, но позаботьтесь, это может изменить некоторые вещи. EDIT: положите длинный путь, который предоставлен в jqgrid, если вы можете, это всегда лучше – SushiiBalboha

+0

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

+0

Я думаю, что удаление этих важных может быть опасным для вашего стиля, но если они это сделали, это, безусловно, удалить некоторые «ошибки» в их коде или просто не позволяйте пользователю их изменять. Просто попробуйте, изменение границы не так опасно ;-) – SushiiBalboha

ответ

1

Я переопределяю несколько правил CSS jQGrid в своем коде.

Просто добавьте свой собственный пользовательский файл CSS ПОСЛЕ вы включаете файл CSS jQGrid и используете !important.

Включите пример:

<!-- jQGrid CSS --> 
<link href="Content/ui.jqgrid.css" rel="stylesheet" /> 

<!-- My Custom CSS Included AFTER the jQGrid CSS --> 
<link href="Content/global.css" rel="stylesheet" /> 

А внутри моего пользовательского файла CSS, у меня есть такие правила, как:

.navtable .ui-pg-button .ui-pg-div { 
    margin: 0 8px 0 8px !important; 
} 

Это будет переопределить стиль jQGrid по умолчанию, так как это в моем пользовательский файл CSS, включен ПОСЛЕ Файл CSS jQGrid.

+0

Спасибо за подробный ответ, это сработает для меня. Но все же мне остается любопытно, почему эти правила должны быть важны в первую очередь в ui.jqgrid.css :( –

+0

@ code.tweetie Я не уверен на 100%, почему они добавили флаг '! Important' на большинстве их стилей.Я думаю, что это должно помешать любым помехам с другими плагинами, которые могут также использовать одни и те же классы/идентификаторы. Кроме того, если этот вопрос вам помог, пожалуйста, [** accept **] (http: //meta.stackexchange .com/questions/5234/how-do-accepting-an-answer-work) :-) – FastTrack

+0

Причина, по которой я просто воздержалась и не принимала, потому что мой первоначальный вопрос по-прежнему остается без ответа. –

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