WIT – NTS UIT Blog

What’s New in Chrome 71 (크롬71 업데이트)

Posted by in Research

2018년 12월 4일 정식 릴리즈 예정인 Chrome 71 새로운 기능 중 UI 개발과 관련된 내용을 정리했습니다. 🔔 New Feature [CSS] ‘left’ and ‘right’ values for the ‘text-underline-position’ property [CSS] :host, :host-context, and ::slotted specificity [Graphics] Animation Worklet [Graphics] COLR/CPAL font support [CSS] CSS gradient color stop double-position syntax [JavaScript] importScripts() [JavaScript] cache.addAll() [DOM] Call capture event listeners in capturing phase at shadow hosts [JavaScript] Intl.RelativeTimeFormat [JavaScript] TextEncoderStream and TextDecoderStream APIs [CSS] Unprefixed Fullscreen API [JavaScript] WebAssembly PostMessage [JavaScript] globalThis 🔕 Remove Feature [JavaScript] Remove prefixed WebKitAnimationEvent interface [JavaScript] Remove prefixed WebKitTransitionEvent interface…read more

linear-gradient로 skeleton screen 만들어보기

Posted by in Research

페이스북이나 유튜브의 첫 화면을 보면, 아주 잠깐 프레임을 그려주는 빈 페이지를 확인할 수 있는데요. 이러한 페이지를 개발에서 skeleton screen(스켈레톤 스크린) 이라고 합니다. 저도 함께 일하는 개발자를 통해서 처음 알게 되었는데, skeleton은 뼈대를 의미하는 단어네요. skeleton screen을 적용하면 사용자가 “대기중”이라는 느낌을 전달하면서 빠르게 로드되고 있다고 인식하게 합니다. 그럼 이러한 UI는 어떤 방법으로 구현할 수 있을까요? CSS의 linear-gradient 속성과 :empty 선택자를 활용하여 이를 구현해 보도록 하겠습니다. 1. linear-gradient 원리 linear-gradient의 기본 문법은 아래와 같습니다.

선형을 적용해보면, 방향과 적용 컬러를 순서대로 선언하게 됩니다. 방향 to bottom은 기본 값으로 생략이 가능합니다. linear-gradient(to bottom, yellow 20%, steelblue…read more

CSS Scroll snap points 알아보기

Posted by in Research

Safari에서만 사용할 수 있던 Scroll snap 모듈이 9월 4일 릴리즈되는 Chrome 69부터 지원합니다. 배경 Scroll snap 모듈을 사용하면 사용자가 터치, 휠 스크롤 조작을 마쳤을 때의 오프셋을 설정할 수 있습니다. 스크롤링은 사용자와 웹 콘텐츠간의 자연스러운 인터랙션이지만 정밀도가 부족하여 콘텐츠의 중간에서 멈추거나 주요 콘텐츠의 일부만 보이기도 합니다. 하지만 미리 설정한 위치로 이동한다면 자연스러운 스크롤 움직임과 함께 사용자 경험은 더욱 향상될 수 있습니다. CSS Scroll snap 모듈을 사용하면 스크롤 동작을 정의하기 위한 JavaScript 사용을 줄일 수 있고, 하드웨어 가속을 사용하기 때문에 웹 브라우저에서 원활한 동작과 성능 향상을 기대할 수 있습니다. 이해 Scroll Container는…read more

flexbox로 만들 수 있는 10가지 레이아웃

Posted by in Research

기존에 사용하던 레이아웃 기법은 display, float, position으로 컬럼 레이아웃을 표현하는 데 한계가 있고 구현 방법이 복잡한 문제가 있었는데요. 마크업 개발자들이 종종 “이것은 구현이 어렵습니다.” 라고 얘기했던 이유 중 하나이기도 했습니다. flexbox 모델의 장점을 한 마디로 표현하면 “복잡한 계산 없이 박스의 크기와 순서를 유연하게 배치할 수 있다.” 라고 정리할 수 있습니다. 정렬, 방향, 순서, 사이즈 등을 유연하게 조절하기 때문에 별도의 분기 처리가 줄어들고, CSS만으로 다양한 레이아웃 구현이 가능합니다. PC는 IE10이상 대응시, 모바일에서는 Android, IOS 거의 모든 버전에서 적용이 가능합니다. (https://caniuse.com/#feat=flexbox) 기존 작업방식과 차이점을 중심으로 각 레이아웃에 대해 하나씩 살펴보도록 하겠습니다. 예제 URL : https://codepen.io/witblog/full/rrGjPx 스크롤이 없는…read more

새로운 CSS Typed Object Model

Posted by in Research

이 글은 https://developers.google.com/web/updates/2018/03/cssom 문서 번역을 기초로, 필요한 설명을 일부 추가한 글입니다. 요약 최근 W3C Houdini WG에서 표준화 하고 있는 CSS Typed Object Model이 크롬 66에 추가되었습니다. CSS Typed Object Model은 아래와 같이 사용할 수 있습니다:

이제 CSS는 JavaScript에서 사용하기에 적절한 객체 기반 API를 갖게 되었으며, 기존의 CSSOM의 미묘한 버그들와 문자열로 인한 제약을 해결할 수 있습니다! 1. 소개 CSSOM 이전의 CSS에는 수년간 Object Model(CSSOM)이 존재했습니다. CSSOM은 JavaScript에서 CSS를 조작할 수 있게 해주는 API입니다. CSSOM은 웹 페이지에서 발견되는 CSS 스타일의 기본 ‘맵’으로, DOM과 결합된 CSSOM은 브라우저에서 웹 페이지를 표현하는데 사용됩니다. JavaScript에서 .style을 read 또는 set할 때…read more