首页 > 代码库 > CSS3学习系列之布局样式(一)

CSS3学习系列之布局样式(一)

  • 多栏布局

使用float属性或position属性的缺点:

使用float属性或position属性进行页面中的简单布局的例子。

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>使用float属性进行页面布局的示例</title>    <style>        div {            width: 20em;            float: left;        }        div#div1 {            margin-left: 2em;;        }        div#div3 {            width: 100%;            background-color: yellow;            height: 200px;        }    </style></head><body><div id="div1"><p>    为安静高三的时候有一个女同桌,快高考的时候有一天他突发感慨,就对着女同桌说:我想去南方,看看外面的世界。女同桌说:哎呀妈呀,老娘等你这句话已经很久了,走走走!    为安静和女同桌在南方辗转六年去过很多地方,深圳东莞广州福建…他们在工厂里打过工,高档小区当过保安,酒店做过服务生。为安静曾经给我们吹牛,在酒店的那些日子里,什么牌子的避孕套他都用过。    六年的时间把女同桌变成了女朋友,她跟着他五湖四海的跑,干的事情也和为安静差不多,超市管理员、酒店服务生、糕点店的服务员。    终于有一天,他们觉得这样打一辈子工,未来也没有希望,就决定先回老家西安,然后再好好想想以后的人生之路。</p></div><div id="div2">    <p>    我刚去培训班的时候,为安静坐在我的前面,当我不会用eclipse调试debug的时候,为安静大着嗓门说,这还不简单,上手给我演示了一遍。瞬间对他有了好感,同时觉得班里大家技术都很牛逼。    培训那年在夏天,天很热空调很不给力,那时候我胃不好,一吃东西就打嗝,需要喝大量的水把它压下去。由于喝水多,闲频繁的去打水比较麻烦,于是,我就去超市买了一个很大的水瓶,大概5、6升。拿到班里没几天,被为安静发现了,见人就说,强子准备把学费喝回来,每天能喝半桶纯净水。后来大家跟风,都买了很大的水瓶来打水,看来大家都想把学费喝回去    </p></div><div id="div3">    <p>        后来我才知道,为安静在培训班的过道,想装x的说一句“on my god”,结果发音走调的飞上了天,就成了"擀面的"。我到现在也没想出两者发音有什么联系,那时候刚认识为安静没两天,就一直在想能把“on my god”发音成 "擀面的",是一个什么样的男人?"擀面的"后来就成我们开玩笑的一个梗。    </p></div></body></html>

使用float属性或position属性进行页面布局时有一个比较明显的缺点,就是第一个div元素与第二个div元素时各种独立的,因此如果在第一个div元素中加入一些内容的话,将会使得两个元素的底部不对齐,导致页面中多出一块空白区域。

  • 使用多栏布局方式

在css3中加入了多栏布局方式,使用多栏布局可以将一个元素的内容分为两栏或多栏显示,并且确保各栏内容的底部对齐。

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>多栏布局方式的使用示例</title>    <style>        div#div1 {            width: 40em;            -moz-column-count: 2;            -webkit-column-count: 2;            column-count: 2;        }        div#div3 {            width: 100%;            background-color: yellow;            height: 200px;        }    </style></head><body><div id="div1">    <p>为安静高三的时候有一个女同桌,快高考的时候有一天他突发感慨,就对着女同桌说:我想去南方,看看外面的世界。女同桌说:哎呀妈呀,老娘等你这句话已经很久了,走走走!        为安静和女同桌在南方辗转六年去过很多地方,深圳东莞广州福建…他们在工厂里打过工,高档小区当过保安,酒店做过服务生。为安静曾经给我们吹牛,在酒店的那些日子里,什么牌子的避孕套他都用过。        六年的时间把女同桌变成了女朋友,她跟着他五湖四海的跑,干的事情也和为安静差不多,超市管理员、酒店服务生、糕点店的服务员。        终于有一天,他们觉得这样打一辈子工,未来也没有希望,就决定先回老家西安,然后再好好想想以后的人生之路。</p>    <p>    为安静高三的时候有一个女同桌,快高考的时候有一天他突发感慨,就对着女同桌说:我想去南方,看看外面的世界。女同桌说:哎呀妈呀,老娘等你这句话已经很久了,走走走!    为安静和女同桌在南方辗转六年去过很多地方,深圳东莞广州福建…他们在工厂里打过工,高档小区当过保安,酒店做过服务生。为安静曾经给我们吹牛,在酒店的那些日子里,什么牌子的避孕套他都用过。    六年的时间把女同桌变成了女朋友,她跟着他五湖四海的跑,干的事情也和为安静差不多,超市管理员、酒店服务生、糕点店的服务员。    终于有一天,他们觉得这样打一辈子工,未来也没有希望,就决定先回老家西安,然后再好好想想以后的人生之路。</p>    <p>        我刚去培训班的时候,为安静坐在我的前面,当我不会用eclipse调试debug的时候,为安静大着嗓门说,这还不简单,上手给我演示了一遍。瞬间对他有了好感,同时觉得班里大家技术都很牛逼。        培训那年在夏天,天很热空调很不给力,那时候我胃不好,一吃东西就打嗝,需要喝大量的水把它压下去。由于喝水多,闲频繁的去打水比较麻烦,于是,我就去超市买了一个很大的水瓶,大概5、6升。拿到班里没几天,被为安静发现了,见人就说,强子准备把学费喝回来,每天能喝半桶纯净水。后来大家跟风,都买了很大的水瓶来打水,看来大家都想把学费喝回去    </p></div><div id="div3">    <p>        后来我才知道,为安静在培训班的过道,想装x的说一句“on my god”,结果发音走调的飞上了天,就成了"擀面的"。我到现在也没想出两者发音有什么联系,那时候刚认识为安静没两天,就一直在想能把“on my god”发音成        "擀面的",是一个什么样的男人?"擀面的"后来就成我们开玩笑的一个梗。    </p></div></body></html>

使用多栏布局的时候,需要将元素的宽度设置成多个栏目的总宽度,它与使用float属性和position属性时的区别是:使用两个属性时需单独设定每个元素的宽度即可,而使用多栏布局时需要设定元素中多个栏目相加后的总的宽度。

我们也可以使用column-width属性单独设置每一栏的宽度而不设定元素的宽度。例子:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>多栏布局方式的使用示例</title>    <style>        div#div1 {            width: 40em;            -moz-column-count: 2;            -webkit-column-count: 2;            column-count: 2;            -moz-column-width: 19em;            -webkit-column-width: 19em;            column-width: 19em;        }        div#div3 {            width: 100%;            background-color: yellow;            height: 200px;        }        p {            margin: 0;        }    </style></head><body><div id="div1">    <p>为安静高三的时候有一个女同桌,快高考的时候有一天他突发感慨,就对着女同桌说:我想去南方,看看外面的世界。女同桌说:哎呀妈呀,老娘等你这句话已经很久了,走走走!        为安静和女同桌在南方辗转六年去过很多地方,深圳东莞广州福建…他们在工厂里打过工,高档小区当过保安,酒店做过服务生。为安静曾经给我们吹牛,在酒店的那些日子里,什么牌子的避孕套他都用过。        六年的时间把女同桌变成了女朋友,她跟着他五湖四海的跑,干的事情也和为安静差不多,超市管理员、酒店服务生、糕点店的服务员。        终于有一天,他们觉得这样打一辈子工,未来也没有希望,就决定先回老家西安,然后再好好想想以后的人生之路。</p>    <p>        为安静高三的时候有一个女同桌,快高考的时候有一天他突发感慨,就对着女同桌说:我想去南方,看看外面的世界。女同桌说:哎呀妈呀,老娘等你这句话已经很久了,走走走!        为安静和女同桌在南方辗转六年去过很多地方,深圳东莞广州福建…他们在工厂里打过工,高档小区当过保安,酒店做过服务生。为安静曾经给我们吹牛,在酒店的那些日子里,什么牌子的避孕套他都用过。        六年的时间把女同桌变成了女朋友,她跟着他五湖四海的跑,干的事情也和为安静差不多,超市管理员、酒店服务生、糕点店的服务员。        终于有一天,他们觉得这样打一辈子工,未来也没有希望,就决定先回老家西安,然后再好好想想以后的人生之路。    </p>    <p>        我刚去培训班的时候,为安静坐在我的前面,当我不会用eclipse调试debug的时候,为安静大着嗓门说,这还不简单,上手给我演示了一遍。瞬间对他有了好感,同时觉得班里大家技术都很牛逼。        培训那年在夏天,天很热空调很不给力,那时候我胃不好,一吃东西就打嗝,需要喝大量的水把它压下去。由于喝水多,闲频繁的去打水比较麻烦,于是,我就去超市买了一个很大的水瓶,大概5、6升。拿到班里没几天,被为安静发现了,见人就说,强子准备把学费喝回来,每天能喝半桶纯净水。后来大家跟风,都买了很大的水瓶来打水,看来大家都想把学费喝回去    </p></div><div id="div3">    <p>        后来我才知道,为安静在培训班的过道,想装x的说一句“on my god”,结果发音走调的飞上了天,就成了"擀面的"。我到现在也没想出两者发音有什么联系,那时候刚认识为安静没两天,就一直在想能把“on my god”发音成        "擀面的",是一个什么样的男人?"擀面的"后来就成我们开玩笑的一个梗。    </p></div></body></html>

可以使用column-gap属性来设定多栏之间的间隔距离。

可以使用column-rule属性在栏与栏之间增加一条间隔线,并且设定该间隔线的宽度、颜色等。

CSS3学习系列之布局样式(一)