이 사이트는 CSS 프레임워크가 아닙니다. CSS로만은 해결하기 어려웠거나 해결하는 게 불가능했지만 Flexbox를 통해 아주 쉽게 해결할 수 있는 문제들을 소개하는 사이트입니다. 또한, 최근 Internet Explore 11과 Safari 6.1이 배포되면서, 최신 Flexbox 스펙은 모든 모던 브라우저에서 지원되기 시작했습니다.
아래의 데모들을 참고하세요. Web inspector로 스타일을 찍어보거나, 소스 코드를 직접 보면서 Flexbox가 CSS 레이아웃의 주류가 되는 것이 얼마나 쉬울 지 확인해보세요.
이 사이트에 있는 코드는 모두 Flexbox로 특정한 디자인 문제를 해결하는 방법입니다. 모든 코드는 사양이 호환되는 브라우저에서 데모를 작동시키는데 필요한 코드만 보여줍니다. 특정 브라우저에서는 Flexbox 스펙의 마지막 버전을 완전히 준수하지 않으므로 안타깝게도 몇 가지 대응책이 필요합니다.
완전히 사양이 호환되지 않는 브라우저를 위한 대응책은 코드 예제에는 나타나 있지 않습니다. 그러나 구현 세부사항에 관심이 있다면 소스 파일을 체크해보시기 바랍니다. 각각의 데모는 소스코드를 링크하고 있으며, 특정 브라우저를 위한 대응책도 모두 잘 문서화되어 있습니다. 그러니 코드보는 것을 두려워할 필요가 없습니다.
현재의 Flex 속성을 각 벤더(Vendor)별로 Prefixing 하고 번역(Translating)하는 것은 모두 autoprefixer가 처리하고 있습니다. 만약 Flexbox 코드를 작성하면서 autoprefixer를 사용하지 않는다면 끔찍한 실수를 하고 계신 겁니다.
코드 예제 및 소스 코드에서 사용하고 있는 클래스 작명 컨벤션은 SUIT CSS에서 온 것이며 이 프로젝트는 BEM 방법론에 기초하고 있습니다. 각 예제는 하나 이상의 재사용 가능한 CSS 컴포넌트를 포함하고 있으므로 이 패턴을 당신의 프로젝트에 적용하거나 복사할 수 있습니다. 링크는 각 예제 페이지의 각각의 컴포넌트에 의해 제공됩니다.
만약 어떤 실수를 찾았거나 추가적인 예제를 제안하고 싶다면, Github에 자유롭게 Issue를 남겨주시거나 Pull Request를 보내주시기 바랍니다.
한국어 번역
한국어 번역은 @hyunseob이 개인적으로 진행하였습니다. 오탈자나 더욱 매끄러운 번역은 이 레포지토리에 Issue를 남겨주시거나 kr 브랜치로 Pull Request를 보내주시기 바랍니다. 감사합니다.