2017-10-15 13 views
1

I는 다음과 같이, 각각 동일 코드의 약 6-7 라인을 가지고에 대한 다소 비슷한 스타일을 가지고 : [class * = "custom-style-"]과 ".this-class-is-default-style"사이에는 무엇이 더 비쌉니까?

custom-style-1 { 
    font-size: 12px; 
    color: red; 
    //Here come the specifics! 
} 

custom-style-2 { 
    font-size: 12px; 
    color: red; 
    //Here come the specifics! 
} 

custom-style-3 { 
    font-size: 12px; 
    color: red; 
    //Here come the specifics! 
} 
.. 
.. 

그래서 내가 쓴 각 클래스에서 반복 속성을 제거 :

[class*="custom-style-"], 
[class*="custom-style-"] { 
    font-size: 12px; 
    color: red; 
} 

.this-class-is-default-style { 
    font-size: 12px; 
    color: red; 
} 

그냥 HTML 내에서 <div class="{list-here}">에 추가 :

하지만 그때는 또 다른 클래스를 작성하지 왜 생각했다.

렌더링 시간면에서 어느 것이 더 비쌉니까? 또한, 유일한 유연성이 아닌 방법 사용으로 인한 유연성 문제 또는 단점이 있습니까?

+3

_ "렌더링 시간면에서 어느 쪽이 더 비쌉니까?"- 작은 캘리퍼와 측정 장치를 가진 일부 괴물 만이 다른 사람들에게 알지 못할 것입니다. – CBroe

+0

@CBroe 저는 ' 아주 많이 eveything을 최적화하려고 노력한다. 내가 할 수있는 한 최선을 다해 특정 방식으로 코딩하는 법을 배웠다. JS 또한 그렇기 때문에 관심이있다. 아마도 누군가가 대답을 알고있을 것이다. –

+0

구현이 잘못되었습니다. '[class * = "custom-style -"]'가 두 번 있습니다. 그 중 하나는'[class^= "custom-style -"]'이어야하며 다른 하나는'[class * = "custom-style -"]'이어야합니다. https://stackoverflow.com/questions/3338680/is-there-a-css-selector-by-class-prefix/8588532#8588532 – BoltClock

답변

3

두 번째 방법 (class*=...없이 특정 클래스 사용)은 브라우저가 모든 클래스 속성에 대해 포함 검색을 수행 할 필요가 없으므로 아마 더 나을 것입니다. 그러나 대부분의 경우 성능 게인은 무시할 수 있어야합니다. 브라우저는 일반적인 경우로 css 클래스를 찾도록 최적화되어 있습니다.

두 번째 방법에 대한 더 중요한 점은 요소에 원하지 않는 클래스를 적용 할 가능성이 낮아지기 때문에 안전입니다. custom-style-의 이름이 매우 특별하고 고유하지 않은 경우 나중에 다른 오류가 발생할 수있는 CSS 파일의 다른 많은 클래스 이름과 유사 할 수 있습니다.

첫 번째 방법을 선택하는 경우에도 BoltClock : [class^="custom-style-"], [class*=" custom-style-"] {...}에 의해 지정된 the method을 사용하여 중복 가능성을 최소화하고 클래스 이름이 목록의 시작 또는 중간에있을 수 있다고 생각하면 좋습니다.

+1

Re : 마지막 단락, 어쨌든 구현이 올바르지 않다고 지적 했으므로. 내가 링크 한 올바른 구현은 가장 극단적 인 경우를 제외하고는 모두 견고합니다. – BoltClock

+0

@BoltClock 감사, 댓글로 편집 됨 –