이 글에서는 요소가 너무 넓어서 완전히 표시할 수 없을 때 요소를 숨기는 CSS 기능을 주로 공유합니다. 구현해야 할 스타일은 여러 레이블을 고정 너비로 연속으로 표시하는 것입니다. 컨테이너의 개수는 가변적이며, 각 라벨의 개수는 가변적입니다. 길이도 가변적입니다. 특정 라벨이 완전히 표시되지 않으면 표시되지 않습니다. 일반적인 효과는 다음과 같습니다. 레이블이 한 행에만 표시됩니다. 레이블이 너무 많으면 표시되지 않습니다.
레이블 부분의 DOM 구조는 다음과 같습니다.
<p class="labels"> <span class="label">Cooking</span> <span class="label">Coding</span> <span class="label">Travel</span> <span class="label">Photography</span> <span class="label">Reading</span> </p>
얼핏 보면 이 문제는 js를 최대한 사용하지 않고 스타일 문제를 해결한다는 원칙에 맞춰 매우 간단해 보입니다. 완벽한 효과를 얻기 위해 다음 스타일을 작성했습니다. 마지막 두 .labels는 .labels의 너비를 초과하기 때문에 다음 줄로 접힌 다음 .labels의 Overflow: Hidden에 의해 숨겨지는 것을 볼 수 있습니다.
.label { display: block; height: 24px; line-height: 24px; padding: 0 10px; background-color: #e1ecf4; border-radius: 12px; font-size: 14px; flex-shrink: 0; // label 不收缩,长度为内容长度 & + .label { margin-left: 5px; } } .labels { height: 24px; // 一行 label 的高度 overflow: hidden; display: flex; flex-wrap: wrap; justify-content: flex-start; }
그런데 얼마 지나지 않아 갑자기 문제를 발견했습니다. 첫 번째 라벨의 길이가 컨테이너의 너비를 초과하면 완전히 숨겨지지 않고 아래와 같이 내용이 잘립니다.
이 문제는 한동안 저를 괴롭혔습니다. 저는 CSS의 어떤 속성이 부모 컨테이너를 초과하는 부분을 숨기는 대신 너비가 부모 컨테이너를 초과할 때 전체 자식 요소를 숨길 수 있는지 생각해 왔습니다. . 온갖 생각을 해도 별 성과가 없었고, js를 사용해서 구현할까 고민하다가 갑자기 아이디어가 떠올랐어요. 첫 번째 라벨도 포장되나요?
그럼 첫 번째 라벨을 감싸는 방법은 무엇일까요? 더 이상 첫 번째 요소가 아닌 경우 flex의 특성을 활용하여 래핑할 수 있는 더 까다로운 방법을 생각했습니다~ 그래서 모든 .label 요소 앞에 .placeholder 요소는 너비가 1px이고 높이가 100%입니다. 요소를 살펴보면 .placeholder 요소가 첫 번째 행의 위치를 차지하고 있는 것을 볼 수 있으며, 원하는 효과를 얻을 수 있습니다~
실제로 이 아이디어를 이용하면 float를 사용해도 동일한 효과를 얻을 수 있습니다. 조금 까다롭고 추가 DOM 요소를 사용했지만 효과는 완벽하게 구현됩니다~
관련 권장 사항:
위 내용은 요소가 너무 넓어서 완전히 표시할 수 없을 때 요소를 숨기는 CSS 기능을 설명하는 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

나는 다른 날이 질문을 받았다. 나의 첫 번째 생각은 : 이상한 질문입니다! 특이성은 선택기에 관한 것이며 At-Rules는 선택기가 아니므로 ... 무의미합니까?

그렇습니다. 당신은 할 수 있습니다. 그리고 그것은 실제로 어떤 순서로 중요하지 않습니다. CSS 전 처리기가 필요하지 않습니다. 일반 CSS에서 작동합니다.

CSS 및 JavaScript (및 이미지 및 글꼴 등)와 같은 자산에 멀리 떨어진 캐시 헤더를 설정해야합니다. 브라우저를 알려줍니다

많은 개발자들은 CSS 코드베이스를 유지하는 방법에 대해 글을 썼지 만 코드베이스의 품질을 어떻게 측정하는지에 대해 많은 글을 쓰지 않습니다. 물론, 우리는 가지고 있습니다

짧고 임의의 텍스트를 수락 해야하는 양식이 있습니까? 이름이나 다른 것 같습니다. 정확히 무엇을위한 것입니다. 많은 것이 있습니다

나는 프론트 컨퍼런스를 위해 스위스 취리히로 향하게되어 매우 기쁩니다 (그 이름과 URL을 사랑합니다!). 나는 전에 스위스에 가본 적이 없기 때문에 나는 흥분했다

소프트웨어 개발에서 제가 가장 좋아하는 개발 중 하나는 서버리스의 출현이었습니다. 세부 사항에 푹 빠지는 경향이있는 개발자로서

이 게시물에서는 들어오는 데이터를 위해 동적 경로를 만드는 방법을 보여주기 위해 NetLify에 구축하고 배포 한 전자 상거래 상점 데모를 사용합니다. 상당히입니다


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기
