`

妙味云课堂之css:浮动与清浮动

 
阅读更多

一. 关于display:inline-block

inline-block的特性:
1、使块在一行显示;
2、行内属性标签支持宽和高;
3、没有宽度的时候,宽度由内容撑开;
使用它会出现以下问题
1、代码换行会被解析(br);
2、ie6、ie7 不支持块属性标签的inline-block;

有什么办法可以解决以上问题???答案是使用浮动。


二. 浮动的原理

元素加了浮动,会脱离文档流 ,按照指定的一个方向移动直到碰到父级的边界或者另外一个浮动元素停止。

小贴士文档流是文档中可显示对象在排列时所占用的位置。

设置浮动后,元素具有以下特性:

1、使块元素在一行显示;
2、使内嵌元素支持宽高;
3、不设置宽度的时候宽度由内容撑开;
4、脱离文档流;

float : left / right / none


三. 清浮动

为什么要清浮动?

因为浮动会对父元素和后面的元素有影响,当前面的元素设置为浮动后,它就脱离了文档流,后面的元素就会往上顶。

清浮动就是去除前面元素浮动对后面元素以及父元素的影响。

当父元素没有指定高度而它的子元素有浮动,这时这个父元素的高度不会自动增加(自适应)。

clear : left / right / both / none

清浮动的方法:

1、给父级也加浮动

问题:页面中所有父级都要加浮动。

<style>
.box{ width:300px;margin:0 auto;border:10px solid #000; float:left;}
.div{ width:200px;height:200px;background:red;float:left;}
/*
	清浮动:
	1.给父级也加浮动
*/
</style>

<div class="box">
	<div class="div"></div>
</div>

2、给父级加display:inline-block

问题:margin左右居中失效

<style>
.box{ width:300px;margin:0 auto;border:10px solid #000; display:inline-block;}
.div{ width:200px;height:200px;background:red;float:left;}
/*
	清浮动:
	2.给父级加display:inline-block
*/
</style>

<div class="box">
	<div class="div"></div>
</div>

3、在浮动元素下加<div class="clear"></div>

问题:IE6 最小高度19px;(解决后IE6下还有2px偏差)

<style>
.box{ width:300px;margin:0 auto;border:10px solid #000;}
.div{ width:200px;height:200px;background:red;float:left;}
.clear{ height:0px;font-size:0;clear:both;}
/*
	清浮动:
	3.在浮动元素下加<div class="clear"></div>
	 .clear{ height:0px;font-size:0;clear:both;}
*/
</style>

<div class="box">
	<div class="div"></div>
    <div class="clear"></div>
</div>

4、在浮动元素下加<br clear="all"/> == clear:both

问题:不符合工作中结构、样式、行为三者分离的要求。

<style>
.box{ width:300px;margin:0 auto;border:10px solid #000;}
.div{ width:200px;height:200px;background:red;float:left;}
/*
	清浮动:
	4.在浮动元素下加<br clear="all"/>
*/
</style>

<div class="box">
	<div class="div"></div>
	<br clear="all"/>
</div>

5、给浮动元素的父级加{zoom:1;}
:after{content:""; display:block;clear:both;}

<style>
.box{margin:0 auto;border:10px solid #000;}
.div{ width:200px;height:200px;background:red;float:left;}
.clear{zoom:1;}  // 在ie67下触发haslayout
.clear:after{content:""; display:block;clear:both;} // 元素末尾追加内容
/*
	清浮动:
	5. 给浮动元素的父级加{zoom:1;}
	:after{content:""; display:block;clear:both;}    
*/
</style>

<div class="box clear">
	<div class="div"></div>
</div>
**在IE6,7下浮动元素的父级有宽度就不用清浮动**

6、父级加绝对定位

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<style>
#box1{border:30px solid red; position:absolute;}
#box2{ width:300px; height:300px; background:blue; float:left;}
</style>
</head>
<body>
<div id="box1">
	<div id="box2"></div>
</div>
</body>
</html>

7、父级加固定定位

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<style>
#box1{border:30px solid red; position:fixed;}
#box2{ width:300px; height:300px; background:blue; float:left;}
</style>
</head>
<body>
<div id="box1">
	<div id="box2"></div>
</div>
</body>
</html>

分享到:
评论

相关推荐

    妙味课堂javascript之XHTMLCSS2整站视频教程【12讲】

    教程名称:妙味课堂Javascript之XHTML CSS2整站视频教程【12讲】       课程目录: 【】妙味课堂-XHTML CSS2整站视频教程-1 【】妙味课堂-XHTML CSS2整站视频教程-10 【】...

    妙味课堂——前端HTML+CSS修炼之道--附赠章节源代码

    "妙味课堂——前端HTML+CSS修炼之道"显然是一门旨在帮助学习者掌握这两种技术的课程。这门课程不仅提供理论讲解,还附带了章节源代码,使学生能够通过实践加深理解。 HTML是用于创建网页内容的标记语言,它定义了...

    妙味课堂JS视频课后作业-完整详细版

    《妙味课堂JS视频课后作业-完整详细版》是一个专为前端学习者设计的资源包,包含了在学习JavaScript过程中可能会遇到的各种练习题及其解答。这个压缩包是学习者个人学习经验的结晶,同时融入了Leo老师的解题思路,...

    妙味课堂的JavaScript视频教程全集下载

    提供的是妙味课堂的JavaScript视频教程全集下载,百度网盘链接 《初级》 http://pan.baidu.com/s/1hqyEjJ2 《中级》 http://pan.baidu.com/s/1pJ3P8uf 《高级》 http://pan.baidu.com/s/1mgu2msK

    880集视频 120G 太给力了 web前端妙味教程课堂开发全套

    880集视频 120G 太给力了 web前端妙味教程课堂开发全套 百度网盘:txt 链接下载

    妙味课堂- 播放器

    妙味课堂- 播放器,是专门用来播放妙味课程的播放器!

    防妙味课堂运动框架

    "防妙味课堂运动框架"是一个专为JavaScript开发的运动框架,旨在帮助开发者轻松实现网页中的动画效果。这个框架的设计灵感可能来源于妙味课堂的教学内容,经过了两天深入的学习和理解,开发者用一天的时间编码并进行...

    03妙味课堂——javascript彩虹圈效果

    总的来说,这个“03妙味课堂——javascript彩虹圈效果”课程将教你如何结合JavaScript和CSS,利用矢量图形和动画技术创造出引人注目的互动效果。通过学习这个实例,你不仅可以提升JavaScript编程技能,还能对Web动画...

    1 妙味课堂原创JavaScript视频教程 JS基础教程5课资料

    妙味课堂的这个原创JavaScript视频教程,旨在帮助初学者系统地学习和掌握JS的基础知识。 教程共分为5课,涵盖了JavaScript的基础内容,以下是每一课可能涉及的关键知识点: **第1课:JavaScript入门** - ...

    妙味课堂javascript特效视频教程

    教程名称:妙味课堂Javascript特效视频教程       课程目录: 【】01-视频教程版块——360度全景图片 【】02-视频教程版块——QQ幻灯片 【】03-视频教程版块——变量详解(2课...

    JavaScript妙味课堂:动画弹性的产品展示效果.rar

    JavaScript妙味课堂:动画弹性的产品展示效果,其实更像是一个菜单,可以分类的菜单,点击下边的文字分类,上边的图片会慢慢消失然后对应的分类就回来了,带点Flashr动画效果。

    妙味课堂js详解视频课程代码

    《妙味课堂JS详解视频课程代码》是一套深入讲解JavaScript编程的高质量教学资源,由知名教育机构妙味课堂的专业讲师倾力打造。这套课程旨在帮助学员全面提升原生JavaScript的掌握水平,同时锻炼和提升逻辑思维能力。...

    妙味课堂javascript高级进阶视频课程【16讲】

    教程名称:妙味课堂Javascript高级进阶视频课程【16讲】       课程目录: 【】8-dom高级1 【】8-dom高级2 【】8-php后台1 【】8-php后台2 【】8-事件高级应用1 ...

    妙味课堂JS模拟Flash动感的图文导航菜单.rar

    "妙味课堂JS模拟Flash动感的图文导航菜单"是一个利用JavaScript技术实现的动态导航菜单,旨在模仿早期流行的Flash动画效果,但又避免了Flash在某些设备和浏览器上的兼容性问题。这个教程或资源包是妙味课堂,一个...

    妙味课堂首页Banner横幅图片切换JS代码.rar

    JavaScript妙味课堂首页的Banner图片切换代码,有着极平滑的图片过渡效果,两幅图片采用淡入、淡出交替,控制按钮可控制播放进度,当然,它自己也会切换的,做的挺不错,不亏是JavaScript脚本的培训课堂。

    01妙味课堂——360度全景展示效果

    在这个"01妙味课堂——360度全景展示效果"的课程中,我们将深入探讨如何使用HTML、CSS3和JavaScript这三种核心技术来创建一个互动式的全景展示。 首先,HTML(超文本标记语言)是网页内容的基础结构。在构建360度...

    妙味课堂-热身运动01课后练习

    妙味热身01 课后练习 请为下面的div设置样式,通过点击设置来选择颜色、宽度、高度。

    妙味课堂--jQuery源码

    jQuery的动画功能是其特色之一,`$.fn.animate()`方法用于创建自定义动画,而`$.fn.fadeIn()`, `$.fn.slideDown()`等则是预设的动画效果。jQuery通过改变CSS属性实现动画,同时提供`$.fn.stop()`来停止当前运行的...

    妙味视频+JavaScript+jquery+html5+css3视频教程(88GB)+项目实战

    **CSS3** 是层叠样式表(CSS)的第三个版本,引入了许多新的样式特性和模块,极大地增强了 Web 设计的灵活性和创造性。 #### 新特性: - **过渡和动画:** 支持平滑的过渡和动画效果。 - **多列布局:** 可以轻松...

    妙味课堂——前端HTML+CSS修炼之道-值得反复推敲的经典布局方案

    前端HTML+CSS修炼之道-值得反复推敲的经典布局方案.如何合理的对网页中的各个元素进行合理布局 前端HTML+CSS修炼之道-值得反复推敲的经典布局方案.如何合理的对网页中的各个元素进行合理布局 前端HTML+CSS修炼之道-...

Global site tag (gtag.js) - Google Analytics