[css] CSS 속성을 어떻게 무효화 할 수 있습니까?

기본적으로 내 페이지에 두 개의 외부 CSS가 있습니다.

첫 번째 Main.css에는 모든 스타일 규칙이 포함되어 있지만 액세스 권한이 없으므로 수정할 수 없습니다. 두 번째 파일에 액세스 할 수 Template.css있으므로 Main.css의 값 을 재정의해야합니다 template.css.

값을 변경해야하는 것은 쉽지만 속성을 완전히 제거하려면 어떻게해야합니까?

같은 클래스가 말을 .c1가지고 height: 40px;내가이 높이 속성을 제거 어떻게?



답변

각 개별 속성을 기본값으로 다시 설정해야합니다. 좋지는 않지만 우리에게 제공 한 정보를 고려할 때 유일한 방법입니다.

귀하의 예에서 다음을 수행합니다.

.c1 {
    height: auto;
}

여기에서 각 속성을 검색해야합니다.

https://developer.mozilla.org/en-US/docs/Web/CSS/Reference

예를 들면 다음과height 같습니다.

초기 값 : auto

또 다른 max-height :

초기 값 : none


2017 년에는 이제 다른 방법 인 unset키워드가 있습니다.

.c1 {
    height: unset;
}

일부 문서 : https://developer.mozilla.org/en-US/docs/Web/CSS/unset

unset CSS 키워드는 초기 및 상속 키워드의 조합입니다. 이 두 개의 다른 CSS 전체 키워드와 마찬가지로 CSS 속기 all을 포함한 모든 CSS 속성에 적용 할 수 있습니다. 이 키워드는 속성이 부모로부터 상속 된 경우 상속 된 값으로 재설정되고 그렇지 않은 경우 초기 값으로 재설정됩니다. 즉, 첫 번째 경우에는 inherit 키워드처럼 작동하고 두 번째 경우에는 초기 키워드처럼 작동합니다.

브라우저 지원이 좋습니다 : http://caniuse.com/css-unset-value


답변

.c1 {
    height: unset;
}

unset값 첨가 CSS3는 이 문제를 해결하고 그것보다 더 보편적 인 방법이다 auto또는initial 이 추가로 기본 behawior 부모를 기준으로 모든 CSS 속성을 기본값으로 설정하고 있기 때문이다.

참고 initial값 휴식 상기 동작을.

에서 MDN :

이 두 가지 다른 CSS 전체 키워드와 마찬가지로 CSS 속기 all을 포함한 모든 CSS 속성에 적용 할 수 있습니다 . 이 키워드는 속성이 부모로부터 상속 된 경우 상속 된 값으로 재설정되고 그렇지 않은 경우 초기 값으로 재설정됩니다.


답변

클래스 .c1의 높이가 40px이라고 말하십시오. 이 높이 속성을 어떻게 제거합니까?

슬프게도 할 수 없습니다. CSS에는 “기본”자리 표시자가 없습니다.

이 경우 다음을 사용하여 속성을 재설정합니다.

 height: auto;

@Ben이 올바르게 지적했듯이 어떤 경우 inherit에는 a요소 의 텍스트 색상을 재설정 할 때 올바른 방법입니다 (해당 속성은 상위 요소에서 상 속됨).

a { color: inherit }


답변

initial키워드는 저자가 명시 적으로 초기 값을 지정할 수 있도록 CSS3에 추가되고있다.


답변

고정 높이 속성을 제거하려면 기본값으로 설정할 수 있습니다.

height: auto;


답변

에있는 것보다 더 높은 특이성을 가진 선택자를 제공해야합니다 Main.css. 해당 선택기로 원하는 속성 값을 기본값으로 설정하십시오.

body .c1 {
    height: auto;
}

모든 속성에 대해 작동하는 “기본값”값은 없습니다. 각 속성의 기본값을 찾아서 사용해야합니다.


답변

“height”를 “unset”또는 “initial”로 덮어 썼더라도 이전 설정을 제거했을 때와 다르게 동작하는 문제가있었습니다.

min-height 속성도 제거해야한다는 것이 밝혀졌습니다!

height: unset;
min-height: none

편집 : IE 7에서 테스트했는데 “설정되지 않음”을 인식하지 못하므로 “자동”이 더 잘 작동합니다.