답변:
display:none
숨기고 display:block
표시 하도록 설정하십시오 .
display: block
, 일부는로 설정해야합니다 display: inline
(예 : <span>
나 <a>
또는 <img>
DOM 요소).
hidden
과를 display: none
. 클래스를 요소에 추가하여 숨기고 표시를 제거하십시오. 제거하면 display
특성이 요소 기본값으로 복원됩니다.
display:none
요소를 제거하는 것만으로도 좋은 옵션 을 사용할 수 있지만 화면 판독기에서도 제거됩니다 . 그것이 SEO에 영향을 미치는 경우에도 토론이 있습니다. A List Apart에 관한 주제 에 관한 좋은 기사가 있습니다.
당신이 정말 원하는 경우 숨기기를 하고 제거 할 요소를보다 효율적으로 사용 :
div {
position: absolute;
left: -999em;
}
이와 같이 화면 판독기에서도 읽을 수 있습니다.
이 방법의 유일한 단점은이 DIV가 실제로 렌더링되어 특히 휴대 전화 에서 성능에 영향을 줄 수 있다는 것 입니다.
visibility: hidden;
하면 다른 절대 요소가 있다고 가정하면 공간과 충돌하지 않고 단지 충돌 z-index
합니다. 내가 갈 요소를 숨기기 위해서visibility
이 질문에 대한 답변은 display : none 및 display : block을 사용한다고 말하지만 CSS 전환을 사용하여 가시성 속성을 사용하여 내용을 표시하거나 숨기려는 사람에게는 도움이되지 않습니다.
디스플레이를 사용하면 CSS 전환이 죽기 때문에 이것은 또한 나를 미치게했습니다.
한 가지 해결책은 가시성을 사용하는 클래스에 이것을 추가하는 것입니다.
overflow:hidden
이것이 작동하려면 레이아웃에 달려 있지만 비어있는 내용은 div 내에 있어야합니다.
디스플레이 : none is solution, 그것은 공간이있는 요소를 완전히 숨 깁니다.
display:none
과visibility: hidden
visibility:hidden
태그가 보이지 않지만 페이지에 태그가 할당되었음을 의미합니다.
display:none
공간이있는 요소를 완전히 숨 깁니다. (DOM을 통해 여전히 상호 작용할 수 있지만)
display:none
숨기고 보이도록 설정 display:block
합니다.
as though they are not in the DOM at all (but without actually removing them from the DOM)
visibility: hidden
컨텐츠 표시 만 중지하고 여전히 수직 / 수평 공간을 사용합니다. display : none은 요소의 수직 / 수평 공간을 제거합니다.
토글 display
은 부드러운 CSS 전환을 허용하지 않습니다. 대신 및를 토글 visibility
하십시오 max-height
.
visibility: hidden;
max-height: 0;
transform: translateX(-100%)
. 우리는 원하지 않는다display: none
다음은 디스플레이 후에 다시 가져 오는 다른 테이크입니다. display : block / inline 등을 사용하지 마십시오. 대신 (자바 스크립트를 사용하는 경우) CSS 속성 표시를 ''(즉, 공백)으로 설정하십시오.
내 지식 위에는 네 가지 방법으로 가능합니다
<button style="display:none;"></button>
#buttonId{ display:none; }
$('#buttonId').prop('display':'none');
& $("#buttonId").css('opacity', 0);
offsetTop
하고,display:none
을 설정합니다offsetTop
여기에 0으로 내 솔루션하여 사용하는 것이 었습니다visibility: hidden
나는 다시 표시 요소를 만드는 데 필요한되면 다음 0으로 폭과 높이를 설정, 나는 세 가지 속성을 사용하여 제거 자바 스크립트. 약간의 해키 솔루션이지만 거의 모든 사용 사례에서 잘 작동합니다.