찾다
웹 프론트엔드CSS 튜토리얼CSS의 부동 및 정리에 대한 간략한 분석

프론트 엔드로서 많은 페이지 레이아웃을 작성했지만 플로팅은 항상 제가 거의 이해하지 못하는 사각지대였습니다. 한편으로는 플로팅을 사용하여 많은 레이아웃을 구현할 수 있지만 다른 한편으로는요. , 플로팅의 영향으로 인해 레이아웃이 파괴되고 두통이 발생하므로 오늘은 이 사각지대를 해결하기 위해 블로그 게시물을 작성하겠습니다.

이 기사에서는 주로 다음 문제를 논의합니다.
1. 플로팅의 원래 목적
2. 플로팅에 텍스트 줄바꿈 효과가 있는 이유
3. 🎜>

float의 원래 목적

다음 내용은 Zhang Xinxu의 "CSS Float(1)의 심층 연구, 자세한 설명 및 확장"에서 가져온 것입니다.

이제 CSS에 float(float) 속성이 없다고 가정하면 어떻게 보일 것입니까? 현재 플로팅 메서드를 사용하여 널리 구현되는 열 레이아웃이든 목록 정렬이든 다른 CSS 속성(테이블과 상관없이)을 사용하여 구현할 수 있다는 것을 알게 될 것입니다. 구현할 수 없는 유일한 것은 "이미지 주변의 텍스트"입니다. ". 저는 이미지 주위에 텍스트를 감싸는 방법이 생각나지 않습니다. 뭐, 이 대체할 수 없는 역할이 float의 진짜 의미죠.

한 문장으로 요약하자면:

이미지를 둘러싼 텍스트 효과를 구현합니다.

플로팅에 텍스트 줄바꿈 효과가 있는 이유는 무엇인가요? ​​

이 질문은 주로 과거 인상에서 비롯됩니다.

플로팅 요소는 문서와 분리되어 있습니다. 흐름.

어? 문서 흐름을 벗어나면 아래의 부동 요소와 겹쳐서는 안 되나요? 왜 텍스트가 계속 둘러싸일 수 있나요?

"CSS 마스터하기"라는 책을 보기 전까지는 이 문제가 저를 괴롭혔습니다. 기사 내용은 다음과 같습니다.

플로팅을 사용하면 요소가 문서 흐름에서 벗어나 더 이상 플로팅이 아닌 요소에 영향을 미치지 않습니다. 사실, 완전히는 아닙니다. 플로팅된 요소 뒤에 문서 흐름의 요소가 오면

이 요소의 상자는 플로트가 전혀 존재하지 않는 것처럼 동작합니다. 그러나 상자의 텍스트 내용은 플로트 요소 의 영향을 받아 공간을 만들기 위해 이동합니다.

즉,

플로팅 요소는 실제로 문서 흐름에서 벗어났기 때문에 문서 흐름의 블록 상자는 플로팅 요소를 무시하지만 텍스트는 을 무시합니다. 이는 문서 흐름에서 절대 위치 지정과는 다릅니다.

Zhihu에 대한 Zhang Qiuyi 선배의 답변도 이러한 견해를 확인시켜줍니다.

한 가지 추가 사항: 문서 흐름이라는 용어는 실제로 부정확합니다. W3C 표준에는 정상적인 흐름만 있지만, 시간이 지남에 따라 문서 흐름 측면에서 많은 국내 기사와 번역 서적이 문서 흐름을 사용합니다.

플로팅으로 인한 충격을 정리하는 방법

실제로 플로팅으로 인한 주요 충격은

1. 요소가 이탈되어 상위 요소 높이가 무너집니다. 일반 흐름에서

2. 아래의 비텍스트 요소가 플로팅 요소와 겹쳐서 원래 레이아웃을 파괴합니다.

이러한 효과를 정리하기 위해 많은 사람들이 클리어 클리어 속성을 사용할 수 있는 이유를 알고 있습니다.

두 가지 의견이 있습니다.

1. 브라우저는
요소의 위쪽 테두리가 요소의 아래쪽 바깥쪽 가장자리에 수직으로 떨어지도록 투명 요소 위에 충분한 여백 을 추가합니다. 부동 요소. 2.
깨끗한 요소의 상단 여백 위에 여백을 추가하세요. 여백 자체는 변경되지 않습니다.

전자가 CSS1과 CSS2의 구현 원칙이고, 후자가 CSS2.1의 구현 원칙이다. 그러나 어느 쪽을 달성하더라도 플로팅 요소를 위한 수직 공간이 남겨져 플로팅 효과가 해소되는 것 같습니다. 동시에, 설정된 클리어 요소 위에 채워진 공간은 실제로 일반 흐름에 존재합니다. 따라서 상위 요소의 높이가 늘어납니다.

수레를 제거하는 방법은 실제로 여러 가지가 있습니다. "그 해에 우리가 함께 청소한 수레" 기사에서는 수레를 청소하는 방법을 간단히 두 가지로 구분합니다.

1. 플로팅 요소 끝에 빈 요소를 추가하여, setclear: 두 속성 모두, 이후 의사 요소는 실제로 콘텐츠를 통해 요소 뒤에 점 콘텐츠가 있는 블록 수준 요소를 생성합니다.

2. 상위 요소의 오버플로 또는 디스플레이: 테이블 속성을 설정하여 부동 소수점을 닫습니다.

수레를 제거하는 거의 모든 방법은 이 두 가지 범주로 분류될 수 있습니다. 위의 블로그 게시물과 함께 의사 요소를 추가하는 방법에 대해 이야기해 보겠습니다.

1.display: block 을 사용하면 생성된 요소가 블록 수준 요소로 표시되고 나머지 공간을 차지합니다.

2. 문자가 매우 작으므로 내용에 점을 추가하세요.
3. 이 새로운 콘텐츠가 공간을 차지하고 레이아웃 높이를 파괴하는 것을 원하지 않기 때문에 높이를 0으로 설정합니다.
4. 생성된 콘텐츠가 보이지 않게 하려면 표시 여부를 숨김으로 설정하여 생성된 콘텐츠에 의해 가려질 수 있는 부분을 클릭하고 상호 작용할 수 있도록 합니다.
5.clear: 둘 다 플로팅 효과를 지웁니다.

코드는 다음과 같습니다.

.clearfix:after {
    display: block;
    content: ".";
    height: 0;
    visibility: hidden;
    clear: both;
}
이 방법은 대부분의 최신 브라우저에서 효과적이며 권장됩니다. 다른 방법은 온라인에 많이 있으므로 여기서는 자세히 설명하지 않겠습니다.

이 글은 링크가 첨부된 다른 블로그와 문서를 참고했습니다.

참조 링크:

CSS 클리어 속성

CSS float

CSS 플로트 이해 및 플로트 지우기

그 시절 우리가 함께 클리어한 플로트

noraml flow

CSS 플로트에 대한 심층 연구, 자세한 설명 및 확장(1 )

장추이의 답변


프론트 엔드로서 많은 페이지 레이아웃을 작성했지만 플로팅은 항상 제가 거의 이해하지 못하는 사각지대였습니다. 한편으로는 플로팅을 사용하여 많은 레이아웃을 구현할 수 있지만 다른 한편으로는요. , 플로팅의 영향으로 인해 레이아웃이 파괴되고 두통이 발생하므로 오늘은 이 사각지대를 해결하기 위해 블로그 게시물을 작성하겠습니다.

이 기사에서는 주로 다음 문제를 논의합니다.
1. 플로팅의 원래 목적
2. 플로팅에 텍스트 줄바꿈 효과가 있는 이유
3. 🎜>

float의 원래 목적

다음 내용은 Zhang Xinxu의 "CSS Float(1)의 심층 연구, 자세한 설명 및 확장"에서 가져온 것입니다.

이제 CSS에 float(float) 속성이 없다고 가정하면 어떻게 보일 것입니까? 현재 플로팅 메서드를 사용하여 널리 구현되는 것이 열 레이아웃이든 목록 정렬이든, 이를 구현하기 위해 다른 CSS 속성(테이블에 관계없이)을 사용할 수 있다는 것을 알게 될 것입니다. 구현할 수 없는 유일한 것은 "텍스트 감싸기"입니다. 그림". 이미지 주위에 텍스트를 배치할 방법이 생각나지 않습니다. 뭐, 이 대체할 수 없는 역할이 float의 진짜 의미죠.

한 문장으로 요약하자면:

이미지를 둘러싼 텍스트 효과를 구현합니다.

플로팅에 텍스트 줄바꿈 효과가 있는 이유는 무엇인가요? ​​

이 질문은 주로 과거 인상에서 비롯됩니다.

플로팅 요소는 문서와 분리되어 있습니다. 흐름.

어? 문서 흐름을 벗어나면 아래의 부동 요소와 겹쳐서는 안 되나요? 왜 텍스트가 계속 둘러싸일 수 있나요?

"CSS 마스터하기"라는 책을 보기 전까지는 이 문제가 저를 괴롭혔습니다. 기사 내용은 다음과 같습니다.

플로팅을 사용하면 요소가 문서 흐름에서 벗어나게 되며 더 이상 플로팅이 아닌 요소에 영향을 주지 않습니다. 사실, 완전히는 아닙니다. 플로팅된 요소 뒤에 문서 흐름의 요소가 오면

이 요소의 상자는 플로트가 전혀 존재하지 않는 것처럼 동작합니다. 그러나 상자의 텍스트 내용은 플로트 요소 의 영향을 받아 공간을 만들기 위해 이동합니다.

즉,

플로팅 요소는 실제로 문서 흐름에서 벗어났기 때문에 문서 흐름의 블록 상자는 플로팅 요소를 무시하지만 텍스트는 을 무시합니다. 이는 문서 흐름에서 절대 위치 지정과는 다릅니다.

Zhihu에 대한 Zhang Qiuyi 선배의 답변도 이러한 견해를 확인시켜줍니다.

한 가지 추가 사항: 문서 흐름이라는 용어는 실제로 부정확합니다. W3C 표준에는 정상적인 흐름만 있지만, 시간이 지남에 따라 문서 흐름 측면에서 많은 국내 기사와 번역 서적이 문서 흐름을 사용합니다.

플로팅으로 인한 충격을 정리하는 방법

실제로 플로팅으로 인한 주요 충격은

1. 요소가 이탈되어 상위 요소 높이가 무너집니다. 일반 흐름에서

2. 아래의 비텍스트 요소가 플로팅 요소와 겹쳐서 원래 레이아웃을 파괴합니다.

이러한 효과를 정리하기 위해 많은 사람들이 클리어 클리어 속성을 사용할 수 있는 이유를 알고 있습니다.

두 가지 의견이 있습니다.

1. 브라우저는
요소의 위쪽 테두리가 요소의 아래쪽 바깥쪽 가장자리에 수직으로 떨어지도록 투명 요소 위에 충분한 여백 을 추가합니다. 부동 요소. 2.
깨끗한 요소의 상단 여백 위에 여백을 추가하세요. 여백 자체는 변경되지 않습니다.

전자가 CSS1과 CSS2의 구현 원칙이고, 후자가 CSS2.1의 구현 원칙이다. 그러나 어느 쪽을 달성하더라도 플로팅 요소를 위한 수직 공간이 남겨져 플로팅 효과가 해소되는 것 같습니다. 동시에, 설정된 클리어 요소 위에 채워진 공간은 실제로 일반 흐름에 존재합니다. 따라서 상위 요소의 높이가 늘어납니다.

수레를 제거하는 방법은 실제로 여러 가지가 있습니다. "그 해에 우리가 함께 청소한 수레" 기사에서는 수레를 청소하는 방법을 간단히 두 가지로 구분합니다.

1. 플로팅 요소 끝에 빈 요소를 추가하여, setclear: 두 속성 모두, 이후 의사 요소는 실제로 콘텐츠를 통해 요소 뒤에 점 콘텐츠가 있는 블록 수준 요소를 생성합니다.

2. 상위 요소의 오버플로 또는 표시: 테이블 속성을 설정하여 부동 소수점을 닫습니다.

수레를 제거하는 거의 모든 방법은 이 두 가지 범주로 분류될 수 있습니다. 위의 블로그 게시물과 함께 의사 요소를 추가하는 방법에 대해 이야기해 보겠습니다.

1.display: block 을 사용하면 생성된 요소가 블록 수준 요소로 표시되고 나머지 공간을 차지합니다.

2. 문자가 매우 작으므로 내용에 점을 추가하세요.
3. 이 새로운 콘텐츠가 공간을 차지하고 레이아웃 높이를 파괴하는 것을 원하지 않기 때문에 높이를 0으로 설정합니다.
4. 생성된 콘텐츠가 보이지 않게 하려면 표시 여부를 숨김으로 설정하여 생성된 콘텐츠에 의해 가려질 수 있는 부분을 클릭하고 상호 작용할 수 있도록 합니다.
5.clear: 둘 다 플로팅 효과를 지웁니다.

코드는 다음과 같습니다.

.clearfix:after {
    display: block;
    content: ".";
    height: 0;
    visibility: hidden;
    clear: both;
}
이 방법은 대부분의 최신 브라우저에서 효과적이며 권장됩니다. 다른 방법은 온라인에 많이 있으므로 여기서는 자세히 설명하지 않겠습니다.


위 내용은 CSS의 부동 및 정리에 대한 간략한 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
'CSS4'업데이트'CSS4'업데이트Apr 11, 2025 pm 12:05 PM

내가 CSS4¹에 처음으로 차지했기 때문에, 그것에 대해 많은 논의가있었습니다. 나는 여기 다른 사람들로부터 내가 가장 좋아하는 생각을 마무리하려고 할 것입니다. 거기 있습니다

세 가지 유형의 코드세 가지 유형의 코드Apr 11, 2025 pm 12:02 PM

새 프로젝트를 시작할 때마다 원하는 경우 세 가지 유형 또는 카테고리로보고있는 코드를 구성합니다. 그리고 나는 이러한 유형을 적용 할 수 있다고 생각합니다

HTTPS는 쉽습니다!HTTPS는 쉽습니다!Apr 11, 2025 am 11:51 AM

나는 HTTPS의 복잡성을 공개적으로 비난하는 것에 대해 유죄를 선고했다. 과거에는 타사 공급 업체로부터 SSL 인증서를 구매했으며 문제가있었습니다.

HTML 데이터 속성 안내서HTML 데이터 속성 안내서Apr 11, 2025 am 11:50 AM

HTML, CSS 및 JavaScript의 데이터 속성에 대해 알고 싶었던 모든 것.

자바 스크립트의 불변성 이해자바 스크립트의 불변성 이해Apr 11, 2025 am 11:47 AM

이전에 JavaScript에서 불변성으로 작업하지 않은 경우 변수를 새로운 값 또는 재 할당과 혼동하기가 쉽습니다.

최신 CSS 기능을 갖춘 사용자 정의 스타일링 양식 입력최신 CSS 기능을 갖춘 사용자 정의 스타일링 양식 입력Apr 11, 2025 am 11:45 AM

시맨틱하고 액세스 가능한 상태를 유지하면서 요즘 사용자 정의 확인란, 라디오 버튼 및 토글 스위치를 만들 수 있습니다. 우리는조차 필요하지 않습니다

각주 문자각주 문자Apr 11, 2025 am 11:34 AM

각주에 적합한 특수 슈퍼 세트 번호 문자가 있습니다. 여기에 다음과 같습니다.

HTML, CSS 및 JavaScript로 애니메이션 카운트 다운 타이머를 만드는 방법HTML, CSS 및 JavaScript로 애니메이션 카운트 다운 타이머를 만드는 방법Apr 11, 2025 am 11:29 AM

프로젝트에 카운트 다운 타이머가 필요한 적이 있습니까? 그런 것은 플러그인에 도달하는 것이 당연하지만 실제로는 훨씬 더 많습니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

DVWA

DVWA

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

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.