레이어 스타일 속성에 visibility와 display 속성 줄 때 브라우저 특성 차이가 없네요. 블록

제가 제 사이트 제로보드( http://www.blrun.net/ )의 이름 레이어가 파이어팍스에서 보이질 않아서 기존의 visibility 속성의 visible/hidden 값을 display 속성의 block/none 속성으로 바꿔주면 된다는 이야기를 구글에서 들어서 함 적용해 보았는데요 두 개 속성의 차이가 없는 것으로 판명되었습니다. 둘 다 익스플로어와 크롬에선 동작하지만 파이어팍스에선 동작을 하지 않습니다. 파이어팍스에서는 hidden(none) 레이어 자체가 이름을 클릭해도 보이질 않습니다.

브라우저 특성에 있어서 이 둘 사이의 차이점을 아시는 분 있나요? 물론 visibility의 hidden은 그냥 레이어를 안보이게만 하는 것이고 display의 none은 레이어 자체를 생성하지 않는다는 정도만 아는데 파이어팍스에서 이름을 클릭했을 때 레이어가 보이게 하는 방법이 있는 것인지 궁금합니다.

해당 소스에 관해선 아래 링크를 참고하시기 바랍니다.


덧글

  • 황천의달 2014/01/20 07:23 # 삭제 답글

    문제에 대한 해답을 다른 곳에서 찾고 계신 듯 하군요.

    일단 레이어에 대한 부분부터..

    display: none이 레이어를 생성하지않는 것은 아닙니다. 다만 거기에 없는 것처럼 다른 요소들을 그려주는 것 뿐입니다. 만약 생성하지않는다면 나중에 해당 레이어의 display값을 block만 바꿔서 다시 내용을 표시할 방법은 불가하고, 다시 객체를 생성해야합니다.

    visiblity: hidden의 경우에는 대상 레이어가 사라지더라도, 해당 공간을 점유합니다.

    다시 해당 문제로 돌아와서..

    이 문제는 display나 visibility의 문제가 아니고 클릭이벤트에서 동작중인 event객체를 Firefox 등에서 찾지못하는데 원인이 있는 듯 싶네요. event 객체를 파라미터 전달이나 선언없이 전역으로 쓰는 방식은 IE에서만 정상 동작합니다. 다른 브라우저에서는 event객체를 명시적으로 전달해주어야합니다. 더불어 event.clientX 는 IE 에서만 될테니 event.pageX 등으로 변경해야합니다.

    마지막으로 제로보드 4는 더이상의 업데이트가 공식적으로 진행되지않고 있는 것으로 알고 있고, 이로 인해 최신 브라우저/웹표준에 대한 지원도 공식적으로는 없습니다.
  • 희망의빛™ 2014/01/22 20:45 #

    답변이 참고가 되었습니다. 고맙습니다. ^^;
댓글 입력 영역
* 비로그인 덧글의 IP 전체보기를 설정한 이글루입니다.


웹로그 검색