Computer >> 컴퓨터 >  >> 프로그래밍 >> CSS

CSS

  1. HTML picture 요소로 WebP 이미지와 대체(fallback) 이미지 함께 사용하기

    웹사이트에서 수많은 이미지를 표시해야 하는 경우에는 압축 효율이 뛰어난 WebP 형식을 사용하는 것이 좋습니다. WebP는 JPEG나 PNG보다 같은 화질에서 파일 크기를 훨씬 줄일 수 있어, 페이지 로딩 속도 개선과 트래픽 절약에 큰 도움이 됩니다. 다만 일부 브라우저는 WebP를 지원하지 않기 때문에, 이런 브라우저를 위한 대체(fallback) 처리가 필요합니다. 이때 HTML의 <picture> 요소를 활용하면 간단하게 해결할 수 있습니다. <picture> 요소의 기본 구조 <picture>

  2. CSS sticky 요소의 고정 상태 감지하기 – Intersection Observer 활용법

    웹 페이지를 스크롤할 때 내비게이션 바나 특정 요소가 화면 상단에 고정(position: sticky)되는 순간을 감지해야 하는 경우가 종종 있습니다. 예를 들어, 요소가 고정되는 순간 그림자를 추가하거나 글꼴 크기를 줄여 시각적인 피드백을 주고 싶을 수 있습니다.이럴 때 Intersection Observer API를 사용하면 스크롤 이벤트 리스너 없이도 성능 저하 없이 손쉽게 고정 상태를 감지할 수 있습니다.동작 원리핵심 아이디어는 간단합니다. sticky 요소 바로 위에 얇은 감시용(sentinel) 요소를 배치하고, 이 요소

  3. CSS로 스크롤 시 화면에 고정되는 내비게이션 바 만드는 방법

    CSS의 position 속성을 지정하면 페이지를 아래로 스크롤해도 화면 상단에 계속 고정되어 있는 내비게이션 바(탐색 모음)를 손쉽게 구현할 수 있습니다. 이 기능은 사용자가 긴 페이지를 탐색할 때 메뉴에 항상 접근할 수 있도록 도와주기 때문에 실무 웹사이트에서 매우 자주 사용됩니다.CSS position 속성의 기본 문법position 속성의 기본적인 작성 형식은 다음과 같습니다.Selector {    position: /*값*/; }position 속성에는 static, relative, absolute,

  4. CSS만으로 시차(패럴랙스) 스크롤 효과 구현하는 방법

    CSS 패럴랙스(시차) 스크롤 효과란? 패럴랙스(Parallax) 스크롤은 배경과 전경 콘텐츠가 서로 다른 속도로 움직이도록 하여 화면에 깊이와 입체감을 더하는 웹 디자인 기법입니다. 별도의 자바스크립트 없이도 CSS의 background-attachment: fixed 속성 하나만으로 손쉽게 구현할 수 있습니다. 핵심이 되는 CSS 속성은 다음과 같습니다. background-attachment: fixed : 배경 이미지를 뷰포트에 고정하여, 페이지를 스크롤해도 배경이 함께 움직이지 않도록 합니다. background-pos

  5. CSS만으로 타자기 타이핑 애니메이션 효과 구현하는 방법

    CSS 애니메이션을 활용하면 자바스크립트 없이도 마치 타자기로 글자를 입력하는 듯한 타자기(Typewriter) 애니메이션 효과를 손쉽게 구현할 수 있습니다.핵심 원리는 width 속성을 이용해 텍스트 영역의 너비를 0%에서 100%까지 점진적으로 늘리고, steps() 타이밍 함수를 적용해 부드러운 확장이 아닌 한 글자씩 끊어지는 듯한 움직임을 만드는 것입니다. 여기에 커서 역할을 하는 오른쪽 테두리에 깜빡임 애니메이션을 추가하면 완성됩니다.아래 예제를 통해 실제 구현 방법을 살펴보겠습니다.예제 코드<!DOCTYPE html

  6. 폼 입력 필드에 유용한 잘 알려지지 않은 CSS 속성 – caret-color, pointer-events, tab-size

    CSS에는 폼 입력 필드를 스타일링할 때 활용할 수 있는 속성이 매우 다양하지만, 그중에서도 caret-color, pointer-events, tab-size는 상대적으로 덜 알려진 속성입니다. caret-color는 텍스트를 입력할 때 깜빡이는 캐럿(커서)의 색상을 지정하고, pointer-events는 특정 요소가 마우스 이벤트의 대상이 되지 않도록 하여 사용자가 해당 요소에 접근하지 못하게 만들 수 있습니다. 마지막으로 tab-size는 탭 문자가 차지하는 공백의 너비를 설정합니다. 속성별로 자세히 살펴보기 1. caret

  7. CSS로 고정 사이드바와 스크롤 가능한 콘텐츠 영역을 갖춘 전체 높이 페이지 만들기

    화면 전체 높이를 차지하는 페이지에서 왼쪽에는 고정된 사이드바를, 오른쪽에는 자유롭게 스크롤되는 콘텐츠 영역을 배치하고 싶다면 height: 100% 설정과 적절한 위치 지정(positioning)만으로 손쉽게 구현할 수 있습니다. 아래 예제를 통해 실제 동작 방식을 단계별로 살펴보겠습니다. 구현 핵심 포인트 사이드바 고정: position: fixed;와 top: 0; left: 0;을 지정해 브라우저 창 왼쪽에 사이드바를 고정합니다. 전체 높이 유지: 사이드바에 height: 100%;를 적용해 화면 세로 끝까지 꽉 차게 만듭

  8. HTML과 CSS로 사이드바와 메인 콘텐츠 영역을 갖춘 페이지 만들기

    웹페이지에서 화면 전체를 채우는 유동형(fluid) 사이드바와 메인 콘텐츠 영역을 만들려면 html과 body 요소의 높이를 100%로 설정하는 것이 핵심입니다. 이렇게 하면 브라우저 창 크기에 관계없이 레이아웃이 항상 전체 화면을 차지하게 됩니다.아래 예제는 display: table과 display: table-cell 속성을 활용하여 사이드바와 메인 영역을 나란히 배치하는 방법을 보여줍니다.예제 코드<!DOCTYPE html> <html> <head> <style> html,body

  9. CSS :fullscreen 가상 클래스로 브라우저 전체 화면 모드 스타일 지정하는 방법

    웹페이지가 브라우저의 전체 화면(Fullscreen) 모드로 전환되었을 때 별도의 스타일을 적용하고 싶다면 CSS의 :fullscreen 가상 클래스(pseudo-class)를 사용하면 됩니다. 이 가상 클래스를 활용하면 전체 화면 상태에서만 배경색, 글꼴 크기, 배경 이미지 등을 자유롭게 변경할 수 있습니다.CSS :fullscreen 가상 클래스 문법:fullscreen 가상 클래스의 기본 문법은 다음과 같습니다.Selector:fullscreen {     attribute: /*value*

  10. CSS 패딩으로 HTML 동영상 종횡비 유지하는 방법

    웹 페이지에서 동영상이나 이미지를 반응형으로 배치할 때는 창 크기가 변해도 요소의 종횡비(가로세로비, Aspect Ratio)가 일정하게 유지되어야 화면이 깨지지 않습니다. CSS에서는 요소의 패딩을 백분율(%) 단위로 지정하는 방식으로 이를 간단히 해결할 수 있습니다.패딩의 백분율 값은 항상 부모 요소의 너비를 기준으로 계산되기 때문에, 세로 방향 패딩(padding-top 또는 padding-bottom)을 활용하면 너비에 비례하는 높이를 만들어 원하는 비율을 고정할 수 있습니다.종횡비 유지에 사용되는 CSS 패딩 속성paddi

  11. CSS letter-spacing 속성으로 텍스트 자간(글자 간격) 설정하기

    CSS의 letter-spacing 속성을 사용하면 텍스트를 구성하는 글자 사이의 간격, 즉 자간(letter spacing)을 원하는 만큼 지정할 수 있습니다. 이 속성은 문서의 가독성을 높이거나 디자인적으로 강조된 타이포그래피 효과를 내고 싶을 때 유용하게 활용됩니다.letter-spacing 속성의 주요 값normal – 브라우저 기본 자간을 적용합니다.길이 값(px, em, rem 등) – 글자 사이에 추가되는 간격을 직접 지정합니다. 음수 값을 사용하면 글자가 서로 더 가까워집니다.예제 1: em 단위로 자간 설정하기다음

  12. CSS만으로 구현하는 부드러운 스크롤 효과

    CSS의 scroll-behavior 속성을 활용하면 자바스크립트 없이 순수 CSS만으로 스크롤 동작 방식을 손쉽게 변경할 수 있습니다. 이 속성을 사용하면 앵커 링크 클릭 시 화면이 즉시 이동하는 대신, 자연스러운 애니메이션 효과와 함께 대상 위치로 전환됩니다. scroll-behavior 속성의 주요 값 auto — 기본값으로, 스크롤이 지정된 위치로 즉시 이동합니다. smooth — 부드러운 애니메이션 효과와 함께 스크롤이 이동하여 사용자 경험을 향상시킵니다. 예제 1: smooth 값 적용하기 다음 예제는 scroll-b

  13. CSS word-spacing 속성으로 단어 사이 간격 자유롭게 조절하기

    CSS의 word-spacing 속성을 정의하면 단어와 단어 사이의 공백(여백) 크기를 원하는 만큼 설정할 수 있습니다. 기본값은 normal이며, cm, px, em 등 다양한 단위를 사용해 간격을 지정할 수 있습니다.아래 예제들을 통해 CSS word-spacing 속성의 실제 사용 방법을 살펴보겠습니다.예제 1<!DOCTYPE html> <html> <head> <style> div {    margin: 2%;    padding: 2%; &nbs

  14. CSS ::first-letter 가상 요소로 첫 글자 스타일 지정하기

    CSS에서는 ::first-letter 가상 요소(pseudo-element)를 사용하면 블록 수준 요소의 첫 번째 글자에 별도의 스타일을 적용할 수 있습니다. 이 기능은 신문이나 잡지에서 흔히 볼 수 있는 드롭캡(drop cap) 효과를 웹에서 구현할 때 특히 유용합니다.단, 주의할 점이 있습니다. 문장 부호(따옴표 등), 합자(digraph), 그리고 content 속성이 포함된 경우에는 실제로 스타일이 적용되는 첫 글자가 달라질 수 있습니다.아래 예제들을 통해 CSS ::first-letter 가상 요소의 사용법을 살펴보겠습니

  15. CSS ::first-line 가상 요소로 문단의 첫 줄을 매력적으로 꾸미는 방법

    CSS의 ::first-line 가상 요소(pseudo-element)는 블록 레벨 요소에서 실제로 화면에 표시되는 첫 번째 줄에만 스타일을 적용할 수 있게 해주는 강력한 도구입니다.일반적인 텍스트 스타일링과 달리, ::first-line은 줄바꿈 위치나 화면 크기에 따라 자동으로 첫 줄 범위가 조정되기 때문에 반응형 환경에서도 자연스럽게 동작합니다. 신문이나 잡지에서 흔히 볼 수 있는 드롭캡 스타일의 첫 줄 강조 효과를 손쉽게 구현할 때 유용합니다.아래 예제들을 통해 ::first-line 가상 요소의 실제 활용법을 살펴보겠습니다

  16. CSS 형제 요소 선택자 완벽 정리: 인접 형제(+)와 일반 형제(~) 선택자 활용법

    CSS에서 형제 요소를 선택하는 방법은 크게 두 가지가 있습니다. 바로 인접 형제 결합자(+)와 일반 형제 결합자(~)입니다. 두 선택자 모두 같은 부모 요소를 공유하는 형제 관계의 요소를 대상으로 하지만, 선택 범위에 중요한 차이가 있습니다.인접 형제 선택자 (+)인접 형제 선택자는 첫 번째 선택자로 지정한 요소의 바로 다음에 위치한 요소만 매칭하고 싶을 때 사용합니다. 이때 두 선택자는 반드시 동일한 부모 요소를 가진 형제 관계여야 합니다.CSS 인접 형제 결합자의 기본 문법은 다음과 같습니다.Selector + Selector

  17. CSS 자식 선택자와 후손 선택자의 차이점 및 활용법

    CSS에서 자식 결합자(child combinator)는 부모 요소의 직계 자식 요소만을 선택할 때 사용됩니다. 반면 후손 결합자(descendant combinator)는 부모 요소 아래에 있는 모든 하위 요소, 즉 자식뿐만 아니라 손자·손녀 수준의 깊은 요소까지 모두 선택합니다.두 선택자의 차이를 정확히 이해하면 불필요한 클래스나 ID 없이도 원하는 요소를 정밀하게 스타일링할 수 있습니다.1. CSS 자식 결합자(>)자식 결합자는 부등호(>) 기호를 사용하며, 지정한 부모 요소 바로 아래 단계에 있는 자식 요소들만 선

  18. CSS :focus-within 가상 클래스로 포커스된 요소의 부모 스타일링하기

    웹 개발을 하다 보면 포커스를 받은 입력 요소 자체가 아니라, 그 요소를 감싸고 있는 부모 요소에 스타일을 적용해야 하는 경우가 종종 있습니다. 이럴 때 유용하게 사용할 수 있는 것이 바로 CSS의 :focus-within 가상 클래스입니다.:focus-within은 해당 요소 자신 또는 그 하위 요소 중 하나라도 포커스를 받으면 활성화됩니다. 즉, 사용자가 폼 필드나 버튼을 클릭하는 순간 부모 컨테이너의 배경색이나 그림자 등을 손쉽게 변경할 수 있습니다.예제 1: form 요소에 적용하기<!DOCTYPE html> &l

  19. CSS object-fit과 object-position 속성으로 이미지 자르기 완벽 가이드

    CSS의 object-fit과 object-position 속성은 이미지를 원하는 크기로 자르고(crop) 요소 안에서 어떻게 표시될지 세밀하게 제어할 수 있도록 도와줍니다. 반응형 웹 디자인에서 이미지 비율이 어긋나거나 레이아웃이 깨지는 문제를 해결할 때 특히 유용합니다.기본 문법CSS object-fit과 object-position 속성의 기본적인 작성 형식은 다음과 같습니다.Selector {     object-fit: /*값*/     object-p

  20. CSS에서 데이터 속성(data-*) 활용하는 방법

    HTML의 data-* 속성을 사용하면 표준 속성 외에 요소에 추가적인 사용자 정의 정보를 저장할 수 있습니다. 이렇게 저장한 데이터는 CSS와 JavaScript에서 자유롭게 활용할 수 있어 실무에서 매우 유용하게 쓰입니다. 아래 예제들을 통해 CSS에서 data-* 속성을 사용하는 다양한 방법을 살펴보겠습니다.예제 1: JavaScript와 함께 data-* 속성 활용하기다음 예제에서는 음식 항목에 마우스를 올리면(hover), 해당 요소의 data-food-type 속성 값을 JavaScript로 읽어와 하단의 설명 문구를 동

Total 1574 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:2/79  20-컴퓨터/Page Goto:1 2 3 4 5 6 7 8