2012-10-16 1 views
4

많은 클래스 중 하나를 가질 수있는 요소를 대상으로하려고합니다. 다음 예제를 작성하는 더 쉬운 방법은 없습니까? 참조를 찾을 수 없었지만보다 효율적인 옵션이 있어야합니다.CSS 많은 클래스 중 하나를 가질 수있는 요소를 목표로하십시오.

.myTable1 a, .myTable2 a, .myTable3 a, .myTable4 a 
{ 
    text-decoration: underline; 
} 
+2

이 기능을 필요로하며,이 확실히 더 효율적으로되지 않을 것 CSS를 – Amareswar

답변

4

계산 효율성 (예 : 브라우저 성능)에 대해 이야기하고 있다면, 이미 가지고있는 것을 고수 할 것을 권합니다. 당신은 당신이 좀 더 뭔가가 필요하다고 보장 할 수없는 경우

[class^="myTable"] a 
{ 
    text-decoration: underline; 
} 

: 그렇지 않으면 ...

당신이 class 속성이 항상 문자열 myTable로 시작 알고 있다면, 당신은 단지 속성 선택기를 사용할 수 있습니다 복합체 :

설명은 here입니다. 이 구문의 비밀을 발견하면 가장 간단한 것으로 이미 가지고있는 것과 함께 다시 제안 할 것입니다.

또는 HTML을 수정하여 선택할 수있는 공통 클래스를 포함하십시오. 이렇게하면 이미 가지고있는 것보다 더 많은 CSS를 단순화 할 수 있습니다.

5

시도 - 일반 CSS에서

table[class^=myTable] a { 
    text-decoration: underline; 
} 
+1

에서 사용하는 모든 테이블에 대한 일반적인 이름이 (성능 - 현명한) 그가 위에서 언급 한 선택자 목록보다 더 적은 코드 일 것입니다. – JasonWyatt

+1

@ JasonWyatt 동의하지만 여기서는 "효율성"이 실제 선택기 성능에 관한 것이 아니라 "다음 예제를 작성하는 더 쉬운 방법"이라고 생각합니다. * –

2

아니, 존재하지 쉬운 방법.

그러나 많은 클래스가 모두 비슷하면 *[class^="myTable"] { ... }과 같은 퍼지 일치를 수행 할 수 있습니다.

1

밑줄 친 링크가 필요한 표에서 여러 클래스를 사용할 수 있습니다.

HTML :

<table class="myTable1 ul_table">...</table> 
<table class="myTable2 ul_table">...</table> 
<table class="myTable3 ul_table">...</table> 
<table class="myTable4 ul_table">...</table> 

CSS :

.ul_table a { 
    text-decoration: underline; 
} 
+0

이것은 아마도 전반적인 문제에 대한 더 나은 접근 방법 일 것입니다. 고맙습니다. 질문 자체가 응답되도록하기 위해, 이와 같은 해결책이 아마도 더 수용 가능할 것이다. '[class^= myTable]' – Dmase05

관련 문제