HTML+CSS学习笔记(一)——网页布局

HTML+CSS基础的标签和属性都掌握后,开始进行网站开发时,往往会遇到布局上的困难。所以本学习笔记从布局开始讲起,相关的基础知识可以参见W3C网站:http://www.w3school.com.cn/


1、CSS框模型

首先,需要掌握基本的框模型,如下图所示。


从内到外分别是元素、内边距、边框、外边距。需要注意的是,在CSS中的width和height属性,指的是element元素的宽高,而不是边框的宽高。

由于浏览器的差异,在CSS中,通常会声明各元素的外边距、内边距为0,从而方便控制。代码如下:

[css]  view plain copy
  1. *{  
  2.     margin0;  
  3.     padding0;  
  4. }  


2、CSS浮动

通常在HTML中会使用div标签+CSS实现布局。在默认的文档普通流中,div会采取垂直的排列顺序。通过向左向右浮动的方式,可以实现横向的排列。


图片来源于W3CSchool)

向左向右浮动的代码为float:left;和float: right.

需要注意的是,使用浮动后。被浮动的元素将不存在于普通流中,因此会出现一个框挡住另一个框的情况。所以想要使得框分理出来,可以使用clear属性。clear: both;

下面举个例子;

[html]  view plain copy
  1. <!DOCTYPE html>  
  2. <html>  
  3.     <head>  
  4.         <meta charset="UTF-8">  
  5.         <title></title>  
  6.         <style>  
  7.             .div1{  
  8.                 float: left;  
  9.                 width: 200px;  
  10.                 height:200px;  
  11.                 background: red;  
  12.             }  
  13.             .div2{  
  14.                 float: left;  
  15.                 width: 200px;  
  16.                 height:200px;  
  17.                 background: blue;  
  18.             }  
  19.             .div3{  
  20.                 clear: both;  
  21.                 width: 400px;  
  22.                 height:200px;  
  23.                 background: green;  
  24.             }  
  25.         </style>  
  26.     </head>  
  27.     <body>  
  28.         <div class="div1"></div>  
  29.         <div class="div2"></div>  
  30.         <div class="div3"></div>  
  31.     </body>  
  32. </html>  

得到结果:

如果将“clear: both;”删除掉,那么布局就会变成下图所示。绿色块会被挡住,因为红色块和蓝色块在普通流中不占空间。



3、相对定位与绝对定位

定位属性由position来决定,默认为static,即文档的普通流。

relative为相对定位,absolute和fixed为绝对定位。

具体可以参见链接:W3C中的定位

需要注意的是,相对定位占用的空间为初始位置空间,而绝对定位不占用网页中空间;使用绝对定位时,absolute表示该元素在“已定位的祖先元素”中的绝对定位,如果没有找到,那么位置相对于“初始包含块(通常是网页)”,而fixed表明在窗口中的绝对定位。


4、布局技巧

通过浮动来完成整体布局,通过margin和padding进行细节上的控制。

版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值