본문 바로가기

UX 개발

CSS 한글 웹폰트 자간(letter-spacing) 자동으로(상대적으로) 조정하기 (내용수정, 2020-04-21) em의 수치가 %와 비슷하게 작동한다는 내용 추가 타이포그래피라는 단어가 영어라는 점에서 알 수 있듯 기본적인 이론과 기술의 근원이 영어 즉, 라틴문자를 중심으로 구성이 되어 있습니다. 하지만 한글은 기본적으로 영어와는 전혀 다른 특성을 가지고 있는 글자체계이기 때문에 적용 기술이 영어를 대상으로 하는 것과는 달라야 합니다. 그 중에 특히 차이가 심한 요소가 자간입니다. 한글 웹폰트의 자간 웹폰트를 떠나서 대부분 한글 디지털타입페이스는 자간이 다소 넓습니다. 글자 요소별 kerning이 이루어져 있는 영어와 달리 기술적 제약이 있는 것인지 모르겠지만, 대부분의 디지털타입페이스가 그러합니다. 그래서 한글의 경우 자간조정이 거의 필수적으로 이루어지는 경우가 많습니다. CSS..
아이프레임(iframe) 높이 자동으로 맞추기 아이프레임은 기본적으로 로드를 호스트하는 페이지에 정적인 높이값을 지니게 됩니다. 로드되는 페이지의 높이에 맞춰 값을 조정하기 위해서는 별도의 자바스크립트 코드가 필요합니다. 다만 아래 방법들은 같은 도메인 또는 같은 서버 안에 소스들이 있을 때만 유효합니다. 다른 도메인이나 서버에 있는 소스들을 iFrame을 불러오고 이에 자바스크립트를 적용하는 과정에는 별도 리서치가 필요합니다. 방법1 : JS 코드 이 방법은 같은 서버 내에서 페이지를 로드할 때 유효한 것으로 보입니다. 자료출처 : Make iframe automatically adjust height according to the contents without using scrollbar? [duplicate] 방법2 : jQuery 플러그인 이..
Reduced/비애니메이션 이슈/디바이스 대응 CSS 작성법 CSS 애니메이션 테스팅 in 애니메이션 저하 환경 디바이스 및 OS의 설정에서 애니메이션을 감소시키는 설정이 켜져 있는 경우가 있습니다. 이 경우 웹브라우저에도 영향을 주어 CSS 애니메이션이 일부 작동하지 않게 됩니다. 특히 opacity를 0에서 1로 바꿔서 컨텐츠를 표시하는 애니메이션을 구성한 경우, 자칫 웹사이트의 컨텐츠 자체가 표현되지 않는 문제가 발생할 수 있습니다. 특히 유명한 라이브러리 중 하나인 animate.css를 활용한 애니메이션을 구성할 때 이러한 구성이 자주 발생합니다. 이같은 문제에 대응하기 위해서는 애니메이션이 저하된 디바이스에 대응하기 위해 구성된 미디어쿼리를 설정해 주어야 합니다. 이는 다음 코드에서 확인하실 수 있습니다. 비애니메이션 대응은 단순히 특정 환경이라고 치부..
XML사이트맵의 용도와 만드는 법 파악하기 본 포스트는 Envato Tuts+의 All you need to know about XML sitemaps라는 아티클을 기반으로 작성된 포스트입니다. XML사이트맵 용도 사이트맵이라는 용어 자체는 기본적으로 우리가 흔히 떠올리는 여러 링크들로 이루어진 사이트 전체의 구조를 나타내는 일종의 사이트 구조도라고 볼 수 있습니다. 이것은 HTML사이트맵이라고 볼 수 있으며 여기서 이야기하려는 XML사이트맵과는 다른 성질의 것입니다. XML사이트맵은 검색 크롤러가 사이트를 이해할 수 있게 도움을 주는 지도 역할을 합니다. 특히 여러 페이지로 구성된 볼륨이 큰 사이트이거나, 새롭게 오픈된 사이트같은 경우에 이러한 사이트맵이 유용하게 작용될 수 있습니다. 크롤러가 더 쉽게 정보를 취득할 수 있도록 도와주기 떄문입니..
CSS 기본 시스템 폰트 설정 (2019) 각 운영체제 별로 기본 시스템 폰트를 로드하는 CSS 코드. 영문 시스템 폰트를 로드하는 것을 기본으로 되어 있기에 특정 국가에 대한 폰트 설정을 목표로 한다면, 폰트 리스트를 추가적/구체적으로 정의해줄 필요가 있다. 운영체제가 업그레이드되면서 기본 시스템 폰트가 변경되는 경우가 있기 때문에, 이 경우에도 새로운 폰트로 정의하는 작업이 필요하다. CSS 코드 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; ..
CSS 리셋 - Normalize.css & Reset.css Normalize 또는 Reset이라고 불리우는, 다양한 브라우저의 기본 설정을 일반적으로 사용되는 스타일로 '초기화'하는 역할을 하는 라이브러리에 대한 소개를 하고자 한다. Normalize를 기반으로 다양한 파생 버전이 등장하고 있다. 대표적인 것이 부트스트랩의 Reboot이 있다. Normalize는 최소한의 리세팅만 제공하므로, 조금 더 편의성이 높은 라이브러리를 찾는다면 좋은 선택이 아닐 수 있다. 다만 미니멀한 코딩이 우선시된다면 Normalize.css를 세팅하고 이를 지속적으로 업그레이드받는 것이(브라우저가 지속적으로 변하듯 이에 대한 Normalize.css도 지속적으로 업데이트되고 있다) 좋은 방법일 수 있다. 좀 더 어드밴스드한 리세팅 옵션을 설정하고 싶다면, 유명 프레..
CSS box-sizing과 초기 설정(border-box) border-box로 설정하는 것이 일반적으로 css로 스타일링을 하는데 있어서 관행으로 여겨진다. 다만 매우 널리 적용되는 방식인데도 불구하고 표준 resetter라고 볼 수 있는 Nomarlize.css에는 이 부분이 포함되지 않은 것을 확인되는데, 이는 말 그대로 최소한의 항목에 대해서는 속성을 resetting하려는 제작자의 의도인 것으로 보인다. box-sizing 속성을 이해하기 위해서는 기본 CSS Box Model에 대한 이해가 필요하다. border-box로 box-sizing을 설정하는 과정은 box model의 padding, margin, border를 개체 안에서 할당하는 과정이라고 볼 수 있다. 기존 개체의 크기가 변화하지 않는 것이 특징이다. The Beginner's Guid..
CSS clip 속성 clip 이미지나 도형 등을 클립핑할 때 사용. IE8도 지원. 클리핑 효과를 주기 위해서는 속성을 부여하는 개체의 position 속성이 absolute여야 한다. clip 속성은 사각형을 통한 클리핑한 지원하나, 새로운 속성인 clip-path는 다양한 도형을 통한 클리핑을 지원 예정이라고 한다. rect가 받는 인자는 마스킹되는 영역을 정의하는 것으로 (top, right, bottom, left)로 정의된다. CSS만을 활용해서 도넛 그래프 등을 만들 때 유용하게 쓰일 수 있다. img { position: absolute; clip: rect(0px,60px,200px,0px); } clip-path IE12부터 지원하며, 사각형 외 다양한 도형으로 통한 클리핑 가능 참고자료 CSS clip p..
외주/과외 문의