>  기사  >  웹 프론트엔드  >  CSS 규칙 캐스케이드 적용 CSS_Experience 교환에서 주의해야 할 몇 가지 사항

CSS 규칙 캐스케이드 적용 CSS_Experience 교환에서 주의해야 할 몇 가지 사항

PHP中文网
PHP中文网원래의
2016-05-16 12:06:061380검색

이론적 기초가 필요하며, 이론을 개선하고 이해하는 방법은 둘 다 똑같이 중요합니다. 둘 중 어느 쪽을 선호하든지 간에 디자이너와 개발자는 실수를 하게 됩니다. . 그러나 내가 말하는 이 방법의 실제적인 용도는 무엇인가? 분명히 둥근 사각형을 생성할 수 없고, 열 레이아웃을 생성할 수도 없으며, 문서 헤드에 고정된 탐색 모음을 제공할 수도 없습니다. 이 알고리즘의 실제 적용은 다음과 같습니다. 좋은 CSS 프로그래밍 관행. 이것은 방금 언급한 미시적 실천만큼 중요하지만 마스터하기가 훨씬 더 어려운 거시적 실천입니다.

이 글은 좋은 CSS 프로그래밍 사양을 모두 포함할 의도는 없으며, 제가 제공할 수 있는 것은 CSS 작성에 대한 개인적인 사양을 요약하는 것뿐입니다. CSS의 운영 본질.

인라인 CSS를 사용하지 마세요
사용자 스타일을 통제할 수 없습니다
중요한 규칙을 사용하지 마세요
특이성에 따라 CSS를 낮은 것부터 높은 것으로 작성하세요
처음 세 항목 내가 말하는 내용의 핵심은 아니므로 생략하겠습니다.

인라인 CSS의 특수성이 가장 높습니다. CSS 파일의 속성이 인라인 CSS와 충돌하면 CSS 파일의 속성이 유효하지 않게 됩니다. 이는 CSS에서만 스타일을 디버깅하는 습관과 다릅니다. 파일이 일치하지 않습니다. 인라인 CSS도 보기 흉합니다. HTML 문서에 스타일을 삽입하므로 버려야 합니다.

사용자가 사용자 스타일을 중요로 설정하면 CSS 규칙을 어떻게 작성하더라도 사용자의 중요한 설명을 무시할 수 없으므로 모든 사용자 스타일을 다루려고 하는 것은 소용이 없습니다. 다행히도 우리는 더 이상 이것에 대해 생각할 필요가 없습니다.

중요한 규칙은 우리의 일반적인 사고 방식과 일치하지 않습니다. CSS 규칙의 구체성과 순서를 아무리 높이더라도 중요한 규칙은 그것과 경쟁하는 규칙을 덮어쓰게 됩니다. 또한 CSS 규칙의 관례적인 규칙은 디버깅에 문제를 가져옵니다. 중요한 규칙을 사용하여 브라우저를 해킹하려면 고유한 요소를 가리키는 선택기에서 규칙을 적용해야 합니다. (PS. Hack은 너무 보기 흉하기 때문에 솔루션에서 가장 마지막으로 고려해야 합니다.)

마지막으로, 특정성에 따라 CSS를 낮은 수준에서 높은 수준으로 작성하는 방법은 무엇입니까?

핵심은 모듈식 CSS입니다.

전역 CSS 추가
현재 페이지에 통합 CSS 추가
페이지를 여러 모듈로 나누기
각 모듈에 ID 후크 사용 및 동일한 모듈에 클래스 후크 사용
각 모듈 추가 module 각 모듈에 대한 CSS 통합
각 모듈을 여러 개의 하위 모듈로 나누고 4단계로 돌아가 스타일 추가가 완료될 때까지 반복을 시작합니다.
좋은 CSS를 작성하는 것은 구현 문제가 아니라 디자인 문제입니다. 먼저 일반적으로 사용되는 Reset.css인 매우 낮은 특이성을 갖는 전역 CSS 콘텐츠를 작성해야 합니다. 이는 당사 웹사이트 전체 페이지의 기본 스타일입니다.

다른 페이지와 배경이 다른 페이지와 같이 페이지에 고유한 통합 스타일이 있는 경우 페이지에 ID를 추가한 다음 해당 ID 아래에 현재 페이지의 통합 CSS를 작성할 수 있습니다.

body#special{ 
    background-color:black; 
}

통일된 스타일을 작성한 후 페이지를 여러 모듈로 나눕니다. 두 모듈이 기본적으로 동일한 스타일을 갖고 있다면 클래스 후크를 사용하세요. 동일하다면 id Hook을 사용하세요. 앞으로 모듈을 나눌 때마다 이 원칙을 따라야 합니다. 클래스의 구체성이 높지 않기 때문에 명백히 유사해 보이는 모듈이 아니면 클래스를 사용하면 안 됩니다. ID의 이름은 일반적으로 모듈 이름으로 사용할 수 있습니다. 머리, 바닥 등과 같은. id 선택자는 계단식 배열에서 중요한 역할을 합니다. id는 배타적이고 높은 특이성을 갖고 있어 CSS 규칙이 실수로 재정의되는 것을 방지할 수 있기 때문입니다.

특정 모듈에는 일부 통합 CSS가 있을 수 있으며, ID 선택기를 사용하여 현재 모듈 아래에 통합 스타일을 작성해야 합니다.

#head p{ 
    color:red; 
}

클래스 후크를 추가할 때 상위 모듈(또는 페이지 자체)의 ID를 클래스 이름의 첫 번째 부분으로 사용하는 것이 좋습니다. 독립된 페이지(body#special)를 추가한다면, 모듈을 페이지용 모듈로 나눈 후 페이지의 모듈 이름을 Special_head, Special_bottom 등으로 지정해야 합니다.

또는 일부 페이지 모듈에서 클래스 후크를 사용할 때는 head_col 등을 사용해야 합니다. 이것의 장점은

#head .col{ 
    /* 头部中每一列的样式 */ 
}

을 사용할 필요 없이

.head_col{ 
    /* 头部中每一列的样式 */ 
}

을 직접 사용할 수 있다는 점입니다. 이름 충돌에 대해 걱정할 필요가 없습니다.

모듈 바로 아래에 ID 선택기가 추가된 요소의 경우 선택기를 직접 사용하고 이름 앞에 상위 모듈의 ID를 추가할 수 있습니다.

#head_navigator{ 
    /* 头部中导航栏的样式 */ 
}

要做到模块化CSS我们应当尽量防止跨模块的CSS出现,我想一条好的原则是:如果某一样式的跨模块特性不是你一目了然的,那么就不要使用跨模块的CSS。一个例外是全局CSS或者模块内的统一CSS。而对于那些并非一目了然的,并非具有统一样式的,建议在每个子模块下分别定义。这就像是编写Java程序中的面向对象的设计一样,我们要降低模块之间的互相依赖,使得相同模块的CSS规则在一起,略有不同的就完全分开,这样不但易于维护,还能够保证特殊性从低到高地编写CSS,从而防止CSS规则被意外的覆盖

以上就是CSS规则层叠的应用 css必须要注意的几点_经验交流的内容,更多相关内容请关注PHP中文网(www.php.cn)!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.