谈谈CSS的浮动问题_html/css_WEB-ITnose
浮动的工作原理
浮动元素脱离文档流,不占据空间。浮动元素碰到包含它的边框或者浮动元素的边框则停留。
浮动元素可能引起的问题
1.父元素的高度无法被撑开,影响与父级元素同级的元素
2.与浮动元素同级的非浮动元素会跟随其后
3.若非第一个元素浮动,则该元素之前的元素也需要浮动,否则会影响页面的显示结构
清除浮动有什么解决办法?
一般来说有三种办法。
1.使用空标签清除浮动
在所有浮动标签后面添加一个空标签并定义CSS属性 clear:both
对比图:div未被撑开
加个空标签就可以,弊端是增加了无语义标签
<style type="text/css"> html,body,div{ margin: 0;padding: 0;} .box{border: 1px solid #333;} p{border: 1px dotted #333;} .box img{float: left;} .box p{float: left;} .cb{clear: both;} </style></head><body><div class="box"><img src="/static/imghw/default1.png" data-src="1.jpg" class="lazy" style="max-width:90%" height="50px" alt="谈谈CSS的浮动问题_html/css_WEB-ITnose" > <p>one</p><!--在这里增加 <div class="cb"></div> --></div></body>
当然了,如果浮动元素的后边元素你不需要浮动,可以顺便给它加个clear:both ,这样也不错。
2.使用overflow
给包含浮动元素的父元素标签添加CSS属性,overflow:hidden or auto; zoom:1 ,其中zoom:1用于兼容IE6,目的是为了触发hasLayout
3.使用after伪对象清除浮动。
但该方法只适用于非IE浏览器,还要注意的是使用的时候要记得为需要清除浮动元素的伪对象设置height:0; 否则该对象会比实际高出若干像素。
<head><style> html,body,div{ margin: 0;padding: 0;} .box{border: 1px solid #333;} p{border: 1px dotted #333;} .box img{float: left;} .box p{float: left;} .cb{clear: both;} .clearfix{display: inline-block; /*zoom:1;*/ } /* for IE ; or use zoom:1 to trigger the hasLayout; */ .clearfix:after{content: "."; display: block; height: 0; visibility: hidden;clear: both;} </style></head><body><div class="box clearfix"><img src="/static/imghw/default1.png" data-src="1.jpg" class="lazy" style="max-width:90%" height="50px" alt="谈谈CSS的浮动问题_html/css_WEB-ITnose" > <p>one</p></div></body>
4.就是给浮动元素的父元素也浮动起来,但这整体又浮动了所以不推荐~
5.还有一种就是直接给浮动的元素添加属性 display:table;
FF Chrome等支持,IE6/IE7测试显示不支持~ 所以还得触发hasLayout ,加上zoom:1 或者 display:inline-block 吧

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

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

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











이 기사는 HTML & lt; Progress & Gt에 대해 설명합니다. 요소, 그 목적, 스타일 및 & lt; meter & gt의 차이; 요소. 주요 초점은 & lt; progress & gt; 작업 완료 및 & lt; meter & gt; Stati의 경우

이 기사는 HTML & LT; Datalist & GT에 대해 논의합니다. 자동 완성 제안을 제공하고, 사용자 경험을 향상시키고, 오류를 줄임으로써 양식을 향상시키는 요소. 문자 수 : 159

기사는 HTML5 크로스 브라우저 호환성을 보장하기위한 모범 사례에 대해 논의하고 기능 감지, 점진적 향상 및 테스트 방법에 중점을 둡니다.

이 기사는 HTML & lt; meter & gt에 대해 설명합니다. 범위 내에 스칼라 또는 분수 값을 표시하는 데 사용되는 요소 및 웹 개발의 일반적인 응용 프로그램. & lt; meter & gt; & lt; Progress & Gt; 그리고 Ex

이 기사에서는 브라우저에서 직접 사용자 입력을 검증하기 위해 필요한, Pattern, Min, Max 및 Length 한계와 같은 HTML5 양식 검증 속성을 사용하는 것에 대해 설명합니다.

이 기사는 모바일 장치의 반응 형 웹 디자인에 필수적인 Viewport Meta Tag에 대해 설명합니다. 적절한 사용이 최적의 컨텐츠 스케일링 및 사용자 상호 작용을 보장하는 방법을 설명하는 반면, 오용은 설계 및 접근성 문제로 이어질 수 있습니다.

이 기사는 & lt; iframe & gt; 외부 컨텐츠를 웹 페이지, 공통 용도, 보안 위험 및 객체 태그 및 API와 같은 대안을 포함시키는 태그의 목적.

GiteEpages 정적 웹 사이트 배포 실패 : 404 오류 문제 해결 및 해결시 Gitee ...
