▲GN⁺ 2024-04-24 | parent | ★ favorite | on: CSS Grid Level 3, 일명 "Masonry" 레이아웃을 만들기 위한 도움 요청(webkit.org)Hacker News 의견 요약: CSSWG와 브라우저 벤더의 DevRel 팀이 2020년부터 Masonry 레이아웃을 CSS에 공식적으로 포함시키는 방법에 대해 논의 중임 WebKit 팀이 이 논의를 공개적으로 만들어 디자이너와 개발자의 의견을 구하기로 함 이는 중요한 선례가 될 것이며, 모든 레이아웃 옵션을 CSS 그리드의 일부로 취급할 것인지 아니면 필요에 따라 새로운 CSS Display 프로퍼티를 계속 추가할 것인지에 대한 근본적인 논쟁임 Masonry 레이아웃을 벽돌 쌓기에 비유하는 것은 재미있으나 실제 벽돌을 그렇게 쌓으면 구조 공학적 재앙이 될 것임 Megamenu 데모는 Masonry 레이아웃을 부적절하게 사용한 사례로, 읽기 흐름을 엉망으로 만들고 기대를 심각하게 저버림 시각 장애인 사용자는 항상 "잘못된" 순서로 읽게 될 것임 break-inside: avoid를 사용하여 컬럼으로 구현했어야 함 신문 데모도 비슷한 이유로 약간 의심스러움 독립적인 블록에 있는 이미지나 미디어의 경우 Masonry 레이아웃이 더 잘 작동함 이 데모들은 그리드 레이아웃을 기반으로 하기 때문에 지원하지 않는 브라우저에서도 합리적인 고정 행 형식으로 나타남 Masonry/Waterfall 레이아웃의 전반적인 느낌이 마음에 듦 그러나 기본 Masonry 정렬 방식 대신 좌우 읽기 흐름을 더 많이 보존하는 레이아웃이 있으면 좋겠음 CSS를 대체할 수 있는 레이아웃 시스템 설계 방법에 대한 고민 Qt, Tk, SwiftUI 등 실제 구현된 시스템 중 더 나은 점이 있는지 궁금함 개발자에게 더 나은 인터페이스를 제공하려면 어떻게 해야 할까? 자신의 사진 웹사이트에서 JS 없이 Masonry 효과를 구현한 사례 소개 display:inline-block을 사용하여 사진을 텍스트처럼 취급하여 새 줄로 리플로우 시킴 Masonry 라이브러리보다 결과가 더 만족스러움 이미 Flexbox, Grid 레이아웃이 있는데 CSS에 더 많은 "레이아웃" 옵션을 추가하는 것이 맞는지 의문 모든 레이아웃 사례를 다루는 복잡하더라도 최종적인 제약 기반 시스템을 만드는 것이 더 나은 솔루션일 수 있음 WebKit 팀이 다시 공개적으로 훌륭한 작업을 하는 모습을 보니 기분이 좋음
Hacker News 의견
요약:
break-inside: avoid를 사용하여 컬럼으로 구현했어야 함display:inline-block을 사용하여 사진을 텍스트처럼 취급하여 새 줄로 리플로우 시킴