2013-10-11 2 views
0

Как я могу легко префиксные селектор CSS?Префикс CSS Selectors

В моем файле CSS у меня много классов, но я не хочу, чтобы эти стили применялись ко всему HTML, но определенному div.

Для примера,

//In css file 
.myClass{ 
//Some Styling 
} 

//In HTML 

<div class=myClass></div> 
<div id="styleOnlyInsideMe"> 
<div class=myClass></div> 
</div> 

Если бы я мог префиксом мой селектор с идентификатором

#styleOnlyInsideMe .myClass{ 
    //Some Styling 
    } 

myClass стиль будет применяться только к Div внутри #styleOnlyInsideMe. Есть ли альтернативный способ достижения этого? Я хочу это, потому что, я хочу избежать конфликта, когда я вставляю css-ремень для загрузки на свою страницу.

Что делать, если я пишу код для замены всего текста между '}' и '{' и заменяю слово между ними, префикс нового идентификатора?

+1

Я чувствую находку и заменить на ближайшие? find: '.myClass' replace:' #styleOnlyInsideMe .myClass' должен это сделать :-) - большинство текстовых редакторов сделают это за вас –

+0

Я не понял, является ли проблема 'id' проблемой, вы просто ищете другие решения для решения проблемы – BeNdErR

+0

@ DannyHearnah Но .myClass - всего лишь пример. Я хочу переименовать весь файл css. он может содержать другие селекторы с разными именами. Иногда селектора id, селектор тегов селекторов классов и т. Д. –

ответ

1

Если вы используете текстовый редактор, который будет поддерживать регулярное выражение найти & заменить вы могли бы сделать что-то вроде этого:

Я использую Notepad ++

Приставка все classes Поиск: (\.-?[_a-zA-Z]+[_a-zA-Z0-9-]*\s*\{) Заменить: #yourID \1

Префикс все IDs Найти: (\#-?[_a-zA-Z]+[_a-zA-Z0-9-]*\s*\{) Заменить: #yourID \1

перед:

.p_container { 
    position:fixed; 
    z-index:2; 
    display:none; 
} 

.step { 
    background-repeat:no-repeat; 
    background-position:center; 
} 

после:

#yourID .p_container { 
    position:fixed; 
    z-index:2; 
    display:none; 
} 

#yourID .step { 
    background-repeat:no-repeat; 
    background-position:center; 
} 

Редактировать

Ближайший я мог добраться до автоматизирован следующая ситуация:

Run

поиск: ((\.-?)(.*?)(?=\,)) Заменить #yourID \1 - найти через запятую классы

Поиск: ((\#-?)(.*?)(?=\,)) Заменить #yourID \1 - найти через запятую идентификаторы

поиск: ((\.-?)(.*?)(?=\{)) Replace #yourID \1 - найти классы

поиск: ((\#-?)(.*?)(?=\{)) Заменить #yourID \1 - найти DIVS

Найти (\n[_a-zA-Z]+[_a-zA-Z0-9-])(.*?)(?=\{) Заменить #yourID \1 - найти элемент селекторов

Интересно, может ли кто-нибудь найти лучший способ сделать это. Селектор элементов, который я нашел сложным, возможно, может быть улучшен!

Найти #yourID #yourID Заменить #yourID - заменить возможные дубликаты

+0

Как насчет '.className1 .className2 {}' ??? –

+0

См. Мое редактирование - это должно работать для вас –