CSS布局之浮动(一)

2016-02-19 21:33 3 1 收藏

每个人都希望每天都是开心的,不要因为一些琐事扰乱了心情还,闲暇的时间怎么打发,关注图老师可以让你学习更多的好东西,下面为大家推荐CSS布局之浮动(一),赶紧看过来吧!

【 tulaoshi.com - Web开发 】

  CSS浮动一直是个比较让人郁闷的问题,很多的布局问题都出在浮动上,特别是当浮动的列数很多时,但其实只要理解了两列结构的浮动,面对多列数的浮动也不会再心慌,因为两列结构的左右浮动是最基本的浮动,也是更多浮动的基础,三列、四列等的浮动都是出于此的。

  来看一下几种常见的CSS两列浮动,CSS代码见以下各分类,HTML结构代码如下:

!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”
html xmlns=”http://www.w3.org/1999/xhtml”
head
meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ /
titleCSS浮动/title
/head

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

body
div id=”a”开始我是在左边,后面可能到右边/div
div id=”b”开始我是在右边,后面就可能跑到左边去/div
/body
/html

  左侧定宽右侧自适应:

#a{float:left; width:200px; background:#aaa;}
#b{background:#f00;}

  当需要左侧定宽而右侧自动时,则只需要设定a对象为左浮动即可,b对象默认是占整个屏幕的宽度的,但因为a为左浮动并且占了200PX的宽度,b则自动位于a后面。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

  当然这样会有一个问题,那就是当左侧的内容高度超过右侧时,右侧的高度并不能随之而增高,而当右侧内容高于左侧时,右侧的内容就会流到左侧内容的底下去。

  解决这个问题的一个办法是,给b也设置一个浮动,当然并不是设置右浮动,如果是设置的右浮动,当右侧内容少不够一行的宽度时左右两侧中间则会出现空白:

#a{float:left; width:200px; background:#aaa;}
#b{background:#f00; float:right;}

  给b设置左浮动时,则可以解决中间出现空白的问题,但同样的道理,当b对象内容少不够一行的宽度时时,右侧就会出现空白:

#a{float:left; width:200px; background:#aaa;}
#b{background:#f00; float:left;}

  当然有另外一种两全的解决办法,即设置b对象距离左边的位置,这样即可以达到浮动的目的也可以解决b对象内容过多而流入到a对象下面的问题:

#a{float:left; width:200px; background:#aaa;}
#b{background:#f00; margin-left:200px;}

  右侧定宽左侧自适应:

  与左侧定宽右侧自动一样的道理,右侧定宽左侧自动同样可以实现:

#a{background:#f00; margin-left:200px;}
#b{float:right; width:200px; background:#aaa;}

  如果按照上面的代码,那么你会发现这个代码并不能实现右浮动,b对象显示在a对象的下面,并没有如预期的那样显示成右侧定宽左而自动的效果。因为HTML结构的原因,浮动DIV应该出现在没有浮动的DIV前面,也就是说,如果是按上面的代码,那么div id=”a”…/dia与div id=”b”…/dia的顺序应该调换一下:

div id=”b”开始我是在右边,后面就可能跑到左边去/div
div id=”a”开始我是在左边,后面可能到右边/div

  当然,也可以在不改动HTML结构的情况下,利用CSS样式去调整浮动顺序,这也是CSS的优点之一,即可以在不改动原HTML结构的情况下,完成对页面的修改:

#a{float:left; width:200px; background:#aaa;}
#b{background:#f00; margin-left:200px;}

来源:https://www.tulaoshi.com/n/20160219/1626510.html

延伸阅读
标签: Web开发
一个多月前总结了《清理浮动的全家》,当时看了之后没什么新鲜的东西也就忽略了,今天偶然又翻到那篇文章,想到了另外一个的方法(N久前在书店翻到的),在网上没看到有人提起过,写出来大家一起讨论下。 HTML: CSS: Firefox下效果:   可见,ul的黄色背景并没有显示出来。 重点来了: 在CSS理加上如下代码 ...
统来说,“标准网页”的文件组织就是XHTML+CSS。其中XHTML主要用来表示网页结构和显示内容,而CSS则是定义结构布局和修饰内容样式。 常用于布局的XHTML一般有: DIV:主要用于页面内容逻辑上的分块,比如一张网页一般包括头部、导航、侧栏、内容和版权等责任分区。此时即可使用DIV标签分割。 同时对各区块建议这样的命名:   头部:&...
标签: Web开发
Source Code to Run html head style type="text/css" !-- body {  margin: 0;  padding: 0;  font-size:12px; } #layout{  background-color: #FFFFFF;  border: 0;  width: 400px;  margin: 0 auto; } .list{  margin: 0px 10px 20px;  text-align: left; } .list ul{  list-style-ty...
标签: Web开发
CSS布局与传统表格(table)布局最大的区别在于:原来的定位都是采用表格,通过表格的间距或者用无色透明的GIF图片来控制文布局版块的间距;而现在则采用层(div)来定位,通过层的margin,padding,border等属性来控制版块的间距。 1.定义DIV 分析一个典型的定义div例子: #sample{ MARGIN: 10px 10px 10px 10px; PADDING:2...
标签: Web开发
在写HTML代码的时候,发现在Firefox等符合W3C标准的浏览器中,如果有一个DIV作为外部容器,内部的DIV如果设置了float样式,则外部的容器DIV因为内部没有clear,导致不能被撑开。看下面的例子: HTML4STRICT代码:div style="width:200px;border:1px solid red;"    div style="float:left;width:80px;height:...

经验教程

519

收藏

9
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部