이번에는 CSS의 Float 속성에 대해 자세히 설명하겠습니다. CSS에서 Float 속성을 사용할 때 주의사항은 무엇인가요? 실제 사례를 살펴보겠습니다.
1. 플로트의 특징
1. 사진 주위에 텍스트를 적용합니다.
2. 블록 수준의 상자를 만듭니다.
4. 요소는 Adapt로 사용자 정의할 수 있지만 해당 값은 설정할 수 있습니다.2. 핵심 해결 문제
그림 주위의 텍스트:img label은 img가 부동하는 경우 텍스트 레이블이 그림을 둘러쌉니다.
<img src="/static/imghwm/default1.png" data-src="../img/a.jpg" class="lazy" alt="CSS의 Float 속성에 대한 자세한 설명" > <p>001文件内容文件内容文内容文件内容<br> 文件内容文件内容文件内容文件内容文件内内容文件内容<br> 文件内容文件内容文件内容文件内容文件内容<br> 文件内容文件内容文件内容文件内容文内容文件内容文件内容<br> </p><p>p标签文件内容文件内容文件内容文件内容文件内容文容文件内容文件内容文件内容</p> <p>p标签文件内容文件内容文件内容文件内容文件内容文件内容</p> 文件内容文件内容文件内容文件件内容文件内容文件内容<br> 文件内容文件内容文件内容文件内容文件内容文件内容文件内容文件内容<br> 文件内容文件内容文件内容文件内容文件内容文件内内容文件内容<br> 文件内容文件内容文件内容文件容文件内容文件内容<br> 文件内容文件内容文件内容文件容文件内容文件内容<br>
2.1 문제입니다
플로팅 요소가 일반 요소와 인접해 있고, 플로팅 요소와 일반 요소 사이에clear float이 없습니다. 플로팅 요소로 덮여 있지만 포함 내용은 플로팅 요소 주위에 표시됩니다.
<p>001</p> <p></p><p>002</p>001 플로트, 002는 플로트하지 않지만 002 요소 자체는 001에 가려져 있지만 내용은 001 주변에 표시됩니다.
3. 비핵심 및 주요 적용 영역
열 레이아웃: 먼저 블록을 수평으로 배열한 다음 초과 부분에 대해 새 행을 시작합니다. 주요 기능1. 부모 높이가 무너집니다(이것도 심각한 문제입니다).wrap{ background:red; padding:10px; width:auto; } .left{ background:gray; width:200px; height:100px; float:left; } .right{ background:yellow; width:100px; height:100px; float:left; }
<p> </p><p>left</p> <p>right</p>
.wrap{ background:red; padding:10px; float:left; } .left{ width:100px; background:gray; } .right:{ width:200px; background:yellow; }
<p> </p><p>left</p> <p>right</p>
2. 높이 붕괴 문제 해결
우선 BFC와 IFC의 두 가지 기본 개념을 이해해야 합니다. 왜냐하면 이 두 개념은 브라우저 렌더링과 밀접하게 관련되어 있기 때문입니다. 1.BFC (block-levelformatting context)독립적으로 렌더링되는 영역으로, 영역 내부의 레이아웃을 규정하며, 외부와는 아무런 관련이 없습니다. 1.1 내부 상자는 수직으로 배치됩니다. 1.2 상자의 수직 방향의 거리는 여백에 의해 결정됩니다. 동일한 BFC에 속하는 두 인접한 상자의 여백은 겹칩니다. 1.3 BFC 영역은 다음과 같습니다. float.head{ background:pink; margin: 20px 0px; height:100px; } .wrap{ background:red; padding:10px; margin:20px 0px; overflow:hidden; } .left{ width:100px; background:gray; margin:10px 0px; } .right:{ width:200px; background:yellow; margin:20px 0px; }
head
<p> </p><p>left</p> <p>right</p>
line-height에 의해 결정됩니다.
이 섹션의 예는 디스플레이 장의 인라인 요소를 참조하세요.3. 솔루션
主要根据BFC的原理实现,因为BFC的渲染的是整块区域,也就会计算出宽、高。这也是传说中的清除浮动的方案
3.1 父容器创建BFC方法
3.1.1 创建BFC的方法
a) Float除了none以外的取值;
b) Overflow除了visible以外的值;
c) Display值为table-cell、table-caption、inline-block、flex、inline-flex等
d) Position值为absloute、fixed
e) Fieldset元素
3.1.2 清除浮动
a) Float、overflow、display三种方式都可以清除浮动,但position、fieldset虽然创建了bfc但不可以清除浮动(也就是不能解决高度塌陷的问题)。主要原因为:position、fieldset都需要子元素来撑开父容器的高度,但子元素浮动后又不存在高度,所以失效。
b) Float、overflow、display示例代码:
.wrap{ background: gray; padding: 10px; overflow: auto; } .left, .right{ background: red; float: left; width: 200px; height: 100px; } .right{ background: yellow; } .footer{ background: pink; }
<p> </p><p>left</p> <p>right</p>footer
3.1.3 最后一个子元素clear:both
利用clear:both触发父容器重新计算高度的原理实现,示例代码如下:
.wrap{ background: gray; padding: 10px; } .left, .right{ background: red; float: left; width: 200px; height: 100px; } .right{ background: yellow; } .footer{ background: pink; } .clear{ clear: both; zoom: 1; }
<p> </p><p>left</p> <p>right</p>footer
3.1.4 After添加最后一个子元素
利用css的:after伪元素实现,动态插入元素并清除浮动:
.wrap{ background: gray; padding: 10px; } .wrap:after{ content: ''; display: block; overflow: hidden; clear: both; } .left, .right{ background: red; float: left; width: 200px; height: 100px; } .right{ background: yellow; } .footer{ background: pink; }
<p> </p><p>left</p> <p>right</p> <p>footer</p>
4. 总结
1. 利用bfc方式清除浮动,简单、浏览器支持良好,但在IE6-版本支持存在问题。但是存在以下局限性,要适环境而用:
a) Overflow方式:滚动条会被隐藏,如果子内容超高则存在显示不全的问题;
b) Float方式:让父容器浮动,那么就存在对父容器同辈元素的影响;
c) Dipslay方式:让父容器变为table或者flex等,都存在不明确的影响,大家都不推荐使用。
2. 最佳解决方案:利用:after添加一个伪元素并给予clear:both和zoom:1来实现清除浮动,兼容性好,对环境影响最小。
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
위 내용은 CSS의 Float 속성에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

최근에 제품 이미지의 색상을 동적으로 업데이트하는 솔루션을 찾았습니다. 따라서 제품 중 하나만 사용하여 다른 방식으로 색칠 할 수 있습니다.

이번 주에 라운드 업, Lighthouse는 타사 스크립트에 빛을 비추고 불안한 자원이 안전한 사이트에서 차단되고 많은 국가 연결 속도가 차단됩니다.

사이트에서 방문자 및 사용 데이터를 추적하는 데 도움이되는 분석 플랫폼이 많이 있습니다. 아마도 널리 사용되는 Google 웹 로그 분석

문서 헤드는 웹 사이트에서 가장 화려한 부분이 아닐 수도 있지만 웹 사이트의 성공에 중요합니다.

Super ()?를 호출하는 JavaScript를 볼 때 어떤 일이 발생 하는가. 아동 클래스에서는 Super ()를 사용하여 부모의 생성자와 Super를 호출합니다. 그것의 접근

JavaScript에는 사용자 상호 작용을위한 특수 UI를 표시하는 다양한 내장 팝업 API가 있습니다. 뛰어나게:

나는 다른 날에 많은 회사들이 액세스 가능한 웹 사이트를 만드는 데 어려움을 겪고있는 이유에 대해 다른 프론트 엔드 사람들과 대화를 나누고있었습니다. 액세스 가능한 웹 사이트가 왜 그렇게 어려운가


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

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

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

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

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.
