CSS层叠样式表

 

 

一、概念  上课案例下载

CSS(层叠样式表):用于控制网页的表现

优点:

  1. 实现表现和内容相分离(方便维护、错误修改、界面调整更加容易)

  2. 便于页面风格的统一和修改(样式重用、高效率开发)

  3. 简化网页,提高页面浏览速度(减少文件量,降低服务器带宽成本,加快网页解析速度,有利于SEO)

二、在html中使用css的四种方法

1、行内样式:混合在HTML标记里使用,对每个元素单独定义样式

  1. <p style="color:blue">文字</p>

虽然这种方法比较直接,在制作页面的时候需要为很多的标签设置style属性,所以会导致HTML页面不够纯净,文件体积过大,不利于搜索蜘蛛爬行,仍而寻致后期维护成本高。

2、页面内部样式:在HTML的头部标签<head>与</head>之间添加样式

  1. <head>
  2.     <style>
  3.         p{color:blue;}
  4.     </style>
  5. </head>

如果一个网站页面很多,每一个文件都会变大,重用性差,后期维护难度不小,如果文件很少,CSS代码也不多,这种方式还是很不错的。

3、链入外部样式:把样式表保存为一个样式表文件,然后在页面中使用<link/>标签链接到这个CSS文件。

  1. <head>
  2.     <link rel="stylesheet" href="CSS文件URL" type="text/css" />
  3. </head>

这种方式将HTML文件和CSS文件彻底分成两个或者多个文件,实现了页面框架HTML代码与表现CSS代码的完全分离,使得前期制作和后期维护都十分方便,并且如果要保持页面风格统一,只需要把这些公共的CSS文件单独保存成一个文件,其他的页面就可以分别调用自身的CSS文件,如果需要改变网站风格,叧需要修改公共CSS文件就可以了,非常的方便,这才是我们html+CSS制作页面提倡的方式。

4、导入外部样式:导入样式和链接样式比较相似,采用import方式导入CSS样式表(可以将css分成小模块),但兼容性以及用户体验的问题,建议大家使用链接样式。import与link的具体区别

四种样式的优先级按照“就近原则”:行内样式>页面内部样式>链接样式>导入样式

三、CSS的基本语法

  1. 选择符{属性1:值1;属性2:值2;……}

20131119173377887788.png

CSS选择器:

1、HTML标签选择器(HTML标记):

  1. h1{font-size:32px;}

HTML选择器很方便,但是一下就把整个页面的所有相应的标记都改变了样式,但是不好细节控制,显得不够灵活。

2、类选择器:允许同一元素有不同样式(通过选择类实现)

定义:

  1. .redone{color:red;}

应用:

  1. <h2 class="redone">标题</h2>
  2. <p class="redone">段落</p>

3、id选择器:id选择器可以在html标记中定位元素,但是相同的id号只能使用一次,不能重复,这与class不同

定义:

  1. #header{width:960px;border:1px solid #666;}

应用:

  1. <div id="header">我的网站</div>

4、通用选择器:*表示所有的html标签

  1. *{
  2.     margin:0px;
  3.     padding:0px;
  4. }

5、分组选择器:

  1. h1,h2,h3,h4,h5,h6{color:#900;}

6、后代选择器:通过依据元素在其位置的上下文关系来定义样式,可以使标记更加简洁。

  1. #div1 p a{color:#900;} /*意思是在ID为div1内的p标签内的链接a标签的文字颜色为红色*/

7、子选择器:选择父元素的直接子元素

  1. div > a{color:#f00;} /*将div元素下的a子元素设置为红色的*/

8、属性选择器:选择属性匹配的元素

  1. a[title] 选择带有title属性的a标记
  2. a[title=详细信息] 选择title属性的值为详细信息的a标记
  3. a[href^=http] 选择herf属性以http开头的a标记
  4. a[href$=.pdf] 选择herf属性以pdf结尾的a标记

四、多重样式CSS权重计算

jc6_002_thumb.png

1.  内联样式表的权值最高 1000;

2.  ID 选择器的权值为 100

3.  Class 类选择器的权值为 10

4.  HTML 标签选择器的权值为 1

对于多重样式CSS权重,由上述规则计算而得,权重越大越优先,但是要注意标有“!important”规则的优先级最大

默认样式<标签选择器<类选择器<id选择器<行内样式<!important

     0               1              10            100        1000       1000以上

  1. p{color:red;} /*标签,权值为1*/
  2. p span{color:green;} /*两个标签,权值为1+1=2*/
  3. p>span{color:purple;}/*权值与上面的相同,因此采取就近原则*/
  4. .warning{color:white;} /*类选择符,权值为10*/
  5. p span.warning{color:purple;} /*权值为1+1+10=12*/
  6. #footer .note p{color:yellow;} /*权值为100+10+1=111*/
  7. p{color:red!important; }      /*!important要写在分号前,优先级最高*/

参考阅读:《CSS:权重和层叠规则决定了其优先级》《CSS经典权重5道题解析》

五、常用伪类

:focus  将样式添加到被选中的元素

:hover  当鼠标悬浮在元素上方时,向元素添加样式

六、CSS属性

1、字体属性

属性属性含义属性值
font-family使用什么字体所有字体
font-style字体是否斜体normal、italic、oblique
font-weight字体的粗细normal、bold
font-size字体的大小绝对大小/相对大小

说明:

1)不建议在font-family中设置超过宋体/黑体之外的字体,会导致未装字体的计算机显示不正常,也可以采用一个字体系列,当某种字体不存在时,用后面的字体

由于中文文字的复杂性,点阵装的字体并不是全都适合于浏览器观看,因此推荐使用标准的宋体或微软雅黑用于中文文字的显示,如果需要其他装饰性字体,应当多使用图片方式来替代纯文本的显示.

2)字体大小的单位,绝对单位:in,cm,mm,pt;相对单位:em,ex,px,%;浏览器默认文字大小为16px

2、文本属性:

属性属性含义属性值
color设置文本颜色 
text-indent设置文本首行缩进缩进值
text-align文本对齐left,right,center,justify
word-spacing单词间距间距值
letter-spacing字母间距间距值
text-decoration文本修饰none,underline,overline,line-through,blink
line-height设置行高 
vertical-align垂直对齐baseline、top、bottom、middle等

3、背景属性

属性属性含义属性值
background-color定义背景色颜色
background-image定义背景图案图片路径例:body{background-image:url(.jpg)}
background-repeat背景图案重复方式Repeat-x、Repeat-y、no-repeat
background-attachment设置滚动Scroll ,      Fixed(背景固定)
background-position背景图案的初始位置百分数、长度值、top、left、right、bottom、center等
background合集color image repeat attachment position

4、列表属性:

属性描述
list-style-image将图象设置为列表项标志。ul li {list-style-image : url(xxx.gif)}
list-style-position设置列表中列表项标志的位置。insideoutside
list-style-type设置列表项标志的类型。disccircle,squaredecimal
list-style简写属性。用于把所有用于列表的属性设置于一个声明中。合集type postion image

5、边框属性

1)每个元素外面都可以有一个边框

2)边框可分为上,下,左,右,四个边框

3)每个边框可以有颜色(color),样式(style)、宽度(width)三种属性

属性描述
border-style边框样式solid | none | dotted | dashed | double
border-width边框宽度border-width:2px;
border-color边框颜色颜色值

6、表格属性

属性描述
border-collapse设置是否把表格边框合并为单一的边框。separatecollapse

设置表格边框

 
  1. table{
  2.   border-collapse:collapse;
  3. }
  4. table,th, td{
  5.   border: 1px solid black;
  6. }

7、尺寸属性

属性描述
width宽度width:960px;百分比
min-width最小宽度 
max-width最大宽度 
height高度height:100px;百分比
min-height最小高度 
max-height最大高度 

8、溢出属性

属性描述
overflow溢出处理方式

visible:默认值

hidden:溢出隐藏

scroll:滚动条

auto:必要时加滚动条

overflow-x在x轴方向处理溢出
overflow-y在y轴方向处理溢出
text-overflow文本溢出处理

clip:裁剪溢出文本

ellipsis:省略号替代溢出文本

五、块级元素与行内元素

块级元素(block:一般是其他元素的容器,可容纳内联元素和其他块级元素,块级元素独占一行,宽度(width)默认为100%,高度(height)由内容决定。常见块级元素为divphul

内联元素(inline:内联元素只能容纳文本或者其他行内元素,它允许其他行内元素与其位于同一行,但宽度(width)和高度(height)不起作用,元素的宽度就是它包含的文字或图片的宽度,不可改变。常见的行内元素为aspan

块级元素和行内元素可通过display属性进行强制转换

 
  1. display : block || inline || none || inline-block

内联块状元素(inline-block):就是同时具备内联元素、块状元素的特点,代码display:inline-block就是将元素设置为内联块状元素。,<img><input>标签就是这种内联块状标签。inline-block元素特点:1、和其他元素都在一行上;2、元素的高度、宽度、行高以及顶和底边距都可设置。

 块级元素行内元素行块元素
默认大小默认宽度100%
默认高度由内容决定
默认宽度和高度都由内容决定默认宽度和高度都由内容决定
表现形式独占一行可以和其他元素同用一行可以和其他元素同用一行
高宽设置有效无效有效
html元素h1-h6,div,p,ul,ol,lispan,a,strong,eminput,img
displayblockinlineinline-block

六、盒模型

盒模型是xhtml+css布局页面中的核心

每个HTML元素都可以看作一个装了东西的盒子,盒子具有宽度(width)和高度(height),盒子里面的内容到盒子的边框之间的距离即填充(padding),盒子本身有边框(border),而盒子边框外和其他盒子之间,还有边界(margin)。

盒模型的四要素:content(内容)、border(边框)、padding(内边距)、margin(外边距)

20131121145269016901.png

margin:是盒子外面与其他元素的距离,用1到4个值来设置元素的外边距,每一个值都是长度、百分比或auto,允许使用负值。还可以使用margin-topmargin-rightmargin-bottommargin-left,外边距顺序依次是上、右、下、左

padding:内边距,指文本边框与文本之间的距离,使用方法和margin相同。

a1.gif

鸡蛋.jpg

可以用鸡蛋来帮助理解盒模型,其中蛋黄表示content,蛋白表示padding,蛋壳表示border,鸡蛋之间的间距表示margin

在盒子大小的理解上,存在如下两种模型:

1、W3C盒模型(内容盒子 content-box

在W3C盒模型中,widthheight表示内容(content)的大小,也就是蛋黄的大小,此时增加padding(蛋白)和border(蛋壳)会增加整个元素的大小(也就是鸡蛋会变大)。

c.gif

如果有如下的CSS定义

 
  1. #box{
  2.     width:70px;
  3.     margin:10px;
  4.     padding:5px;
  5. }

则整个盒子占用的空间计算如下

20131121145173987398.jpg

2、IE6 盒模型(边框盒子 border-box

Microsoft认为盒子的大小是边框(border)的大小,也就是蛋壳的大小,在这种模型下,改变padding(蛋白)、border(蛋壳厚度)的大小,并不会改变鸡蛋的大小,但内容的大小会变(也就是说蛋黄的大小会变化)。

574164b433432.jpg

这种盒模型实际上更符合我们对客观世界的认知,但是同时我们要知道,W3C是标准,现代的浏览器都采用的内容盒子(content-box)模型。在CSS3当中,提供了box-sizing属性来实现两种模型间的切换。

属性描述
box-sizing设置当前元素采用的盒模型。content-boxborder-box

七、实例

20131126215278677867.png

 
  1. <!doctype html>
  2. <html>
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <title>盒子实例1</title>
  6.     <style>
  7.     *{
  8.         margin: 0px;
  9.         padding: 0px;
  10.     }
  11.     div{
  12.         border: 8px solid #6d8bc1;
  13.         width: 200px;
  14.         background: #aad9f7;
  15.     }
  16.     h2{
  17.         font-size: 14px;
  18.         color: #336;
  19.         /*border: 1px solid blue;*/
  20.         padding:18px 0px 0px 18px;
  21.     }
  22.     p{
  23.         font-size: 12px;
  24.         padding: 18px;
  25.     }
  26.     </style>
  27. </head>
  28. <body>
  29.     <div>
  30.         <h2>求职意向</h2>
  31.         <p>寻一份互联网相关专职工作.</p>
  32.     </div>
  33. </body>
  34. </html>

20131126215427632763.png

 
  1. <!doctype html>
  2. <html>
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <title>盒子实例2</title>
  6.     <style>
  7.     *{
  8.         margin:0px;
  9.         padding: 0px;
  10.     }
  11.     body{
  12.         padding: 20px;
  13.         font-size: 12px;
  14.     }
  15.     dl{
  16.         width: 200px;
  17.         border: 1px solid #c5c6c4;
  18.         border-top: none;
  19.     }
  20.     dt{
  21.         padding: 4px;
  22.         font-weight: bold;
  23.         border-top:1px solid #c5c6c4;
  24.         background: #f4f4f4;
  25.     }
  26.     dd{
  27.         padding: 4px 12px;
  28.     }
  29.     </style>
  30. </head>
  31. <body>
  32.     <dl>
  33.         <dt>CSS</dt>
  34.         <dd>CSS入门</dd>
  35.         <dd>CSS进阶</dd>
  36.         <dd>CSS高级技巧</dd>
  37.         <dt>WebUI</dt>
  38.         <dd>理论知识</dd>
  39.         <dd>实战应用</dd>
  40.         <dd>高级技巧</dd>
  41.     </dl>
  42. </body>
  43. </html>

20131126215574917491.png

 
  1. <!doctype html>
  2. <html>
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <title>盒子实例3</title>
  6.     <style>
  7.     *{
  8.         margin: 0px;padding: 0px;
  9.     }
  10.     a{
  11.         margin: 100px;
  12.         color:#000;
  13.         text-decoration: none;
  14.         font-size: 12px;
  15.         background: #d4d0c8;
  16.         height: 30px;
  17.         line-height: 30px;
  18.         width: 100px;
  19.         display: block;
  20.         text-align: center;
  21.         border:1px solid #000;
  22.         border-top: 1px solid #fff;
  23.         border-left: 1px solid #fff;
  24.     }
  25.     a:hover{
  26.         background: #ddd;
  27.     }
  28.     </style>
  29. </head>
  30. <body>
  31.     <a href="#">链接按钮</a>
  32. </body>
  33. </html>

20131126215662986298.png    素材下载

 
  1. <!doctype html>
  2. <html>
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <title>盒子实例4</title>
  6.     <style>
  7.     *{
  8.         margin: 0px;padding: 0px;
  9.     }
  10.     #b1{
  11.         margin: 50px;
  12.         background: none;
  13.         border: none;
  14.         font-weight: bold;
  15.         background: url('xml.jpg') no-repeat 0px -12px;
  16.         padding: 4px;
  17.         padding-left: 40px;
  18.         border: 1px solid #000;
  19.     }
  20.     </style>
  21. </head>
  22. <body>
  23.     <input type="submit" name="Submit2" value="RSS订阅" id="b1"/>
  24. </body>
  25. </html>

 

七、CSS定位

CSS 有三种基本的定位机制:普通流、浮动和绝对定位(固定)。

普通流

除非专门指定,否则所有框都在普通流中定位。也就是说,普通流中的元素的位置由元素在X(HTML)中的位置决定。

块级框从上到下一个接一个地排列,框之间的垂直距离是由框的垂直外边距计算出来。

浮动

浮动定位:可以设置元素的float属性为leftright,让元素浮动,使得块级元素可以并排显示。

但一定注意,设置浮动的同时一定要先设置块状元素的宽度,且需要浮动的几个元素宽度加起来一定要小于容器元素的宽度。

请看下图,当把框 1 向右浮动时,它脱离文档流并且向右移动,直到它的右边缘碰到包含框的右边缘:

1.png

再请看下图,当框 1 向左浮动时,它脱离文档流并且向左移动,直到它的左边缘碰到包含框的左边缘。因为它不再处于文档流中,所以它不占据空间,实际上覆盖住了框 2,使框 2 从视图中消失。

如果把所有三个框都向左移动,那么框 1 向左浮动直到碰到包含框,另外两个框向左浮动直到碰到前一个浮动框。

2.png

如下图所示,如果包含框太窄,无法容纳水平排列的三个浮动元素,那么其它浮动块向下移动,直到有足够的空间。如果浮动元素的高度不同,那么当它们向下移动时可能被其它浮动元素“卡住”:

3.png

行框和清理

浮动框旁边的行框被缩短,从而给浮动框留出空间,行框围绕浮动框。

因此,创建浮动框可以使文本围绕图像:

4.png

要想阻止行框围绕浮动框,需要对该框应用 clear 属性。clear 属性的值可以是 leftrightboth 或 none,它表示框的哪些边不应该挨着浮动框。

为了实现这种效果,在被清理的元素的上外边距上添加足够的空间,使元素的顶边缘垂直下降到浮动框下面:

5.png

浮动本来是用来实现图文混排的,可是在具体实践中,常常用来将纵向排列的块级元素变成水平排列,但是浮动有一个缺陷,就是浮动元素会脱离文档流,从而造成父元素的塌陷,为了使得父元素也能包裹浮动元素,需要做浮动的清理。

清理浮动的方法1:

 
  1. <div class="container">
  2.     <div class="sidebar"></div>
  3.     <div class="content"></div>
  4.     <!-- 额外标签法 -->
  5.     <br style="clear:both">
  6. </div>

清理浮动的方法2:使父元素形成BFC

 
  1. <!-- 通过父元素overflow:hidden来形成BFC -->
  2. <div class="container"  style="overflow: hidden;">
  3.     <div class="sidebar"></div>
  4.     <div class="content"></div>
  5. </div>

总结:

由此可以看出,浮动可以使块级元素横向排列,可以解决布局中盒子横向摆放的问题,浮动元素有“block”化和“包裹性”的特性,在实际使用中要注意。

浮动具有方向性,很灵活,可以很方便的用于布局的调整。

但是浮动有一个副作用,就是浮动元素会脱离文档流,造成父元素的塌陷。因此在使用浮动时,需要使用“清理”来消除它的副作用。

扩展阅读

CSS浮动(float,clear)通俗讲解

学习BFC

Float 和 inline-block

相对、绝对定位

定位属性

position属性:

static静态定位

position的默认值,一般不设置position属性时,会按照正常的文档流进行排列

relative相对定位

元素框相对于原本的位置偏移某个距离。元素仍保持其未定位前的形状,它原本所占的空间仍保留

1、定位的原点为原来的位置

2、相对定位元素不脱离文档流,因此其占据的空间不会因为相对定位元素的位置改变而变化

3、使用topbottomleftright来调整位置。如无设置,则保留在原来位置。

4、使用z-index属性来调整元素z轴的位置关系,z-index默认值为0,值小的,在前面。

5、常用于元素位置的微调、子元素的绝对定位

absolute绝对定位

当元素的父对象(或曾祖父,只要是父级对象)parent的position属性不是默认值的情况,此时按照这个parent来进行定位,如果没有这个对象,相对<html>元素定位(元素将脱离文档流)

1、定位的原点默认为<html>元素的左上角(除非上级元素有绝对或相对定位)

2、绝对定位元素将脱离文档流,其占据的空间将释放

3、使用topbottomleftright来调整位置。如无设置,则保留在原来位置。

4、使用z-index属性来调整元素z轴的位置关系,z-index默认值为0,值小的,在前面。

5、常用于相对祖先元素的定位(与relative元素组合使用)

relative元素与absolute元素的比较:定位原点、是否脱离文档流

fixed固定定位

总是以<html>为定位对象的,按照浏览器的窗口进行定位,元素将脱离文档流

属性描述
position把元素放置到一个静态的、相对的、绝对的、或固定的位置中。absolute/fixed/relative/static
top定义了一个定位元素的上外边距边界与其包含块上边界之间的偏移。 
right定义了定位元素右外边距边界与其包含块右边界之间的偏移。 
bottom定义了定位元素下外边距边界与其包含块下边界之间的偏移。 
left定义了定位元素左外边距边界与其包含块左边界之间的偏移。 
clip设置元素的形状。元素被剪入这个形状之中,然后显示出来。rect (top, right, bottom, left)
z-index设置元素的堆叠顺序。如果为正数,则离用户更近,为负数则表示离用户更远

可见性

属性描述
visibility规定元素是否可见(不脱离文档流)visible/hidden
display设置为none值,元素不可见(脱离文档流)none/block/inline/inline-block

float浮动与清除请参考:

http://www.w3school.com.cn/css/css_positioning_floating.asp

实例

实例1、盒子定位

20131128115093909390.png

 
  1. <!doctype html>
  2. <html>
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <title>浮动</title>
  6.     <style>
  7.         *{
  8.             margin: 0px;padding: 0px;
  9.         }
  10.         div{
  11.             width: 100px;height: 100px;
  12.             border: 1px solid #000;
  13.             background: #ccc;
  14.         }
  15.         h1{
  16.             border: 2px solid blue;
  17.         }
  18.         #d2{
  19.             position: relative;
  20.             /*position: absolute;*/
  21.             left: 50px;
  22.             top: 50px;
  23.             /*float: right;*/
  24.         }
  25.                 
  26.         /*#d1{          
  27.  
  28.             float: left;
  29.         }
  30.         #d3{
  31.             float: right;
  32.         }*/
  33.         .clear{
  34.             clear: both;
  35.         }
  36.     </style>
  37. </head>
  38. <body>
  39.     <h1>
  40.     <div id="d1">盒子1</div>
  41.     <div id="d2">盒子2</div>
  42.     <div id="d3">盒子3</div>
  43.     <p></p>
  44.     </h1>
  45. </body>
  46. </html>

实例2:

捕获.PNG

 
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <title>绝对定位</title>
  6.     <style>
  7.         *{padding: 0;margin: 0;}
  8.         .header{
  9.             width: 500px;
  10.             height: 100px;
  11.             border: 1px solid #333;
  12.             background-color: #ddd;
  13.             position: relative;
  14.             font-family: '宋体';
  15.         }
  16.         .header h1{
  17.             font-size: 18px;
  18.         }
  19.         .header a{
  20.             font-size: 12px;
  21.             color: #333;
  22.             text-decoration: none;
  23.             position: absolute;
  24.             right: 5px;
  25.             bottom: 5px;
  26.         }
  27.     </style>
  28. </head>
  29. <body>
  30.     <div class="header">
  31.         <h1>慕楚教育</h1>
  32.         <a href="#">登录</a>
  33.     </div>
  34. </body>
  35. </html>

实例3、

20131128120235333533.png

 
  1. <!doctype html>
  2. <html>
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <title>导航</title>
  6.     <style>
  7.         *{margin: 0;padding:0;}
  8.         ul{
  9.             margin: 50px;
  10.             padding-left: 50px;
  11.             border-bottom:2px solid #2788da;
  12.             height: 26px;       
  13.             list-style:none;
  14.             overflow: hidden;
  15.         }
  16.         a.home{
  17.             background: #2788da;
  18.             color: #fff;
  19.         }
  20.         ul li{
  21.             float: left;            
  22.         }
  23.         ul li a{
  24.             width: 97px;
  25.             height: 26px;
  26.             line-height: 26px;
  27.             background: #ececec;
  28.             display: block;
  29.             color: #000;
  30.             text-align: center;
  31.             text-decoration: none;
  32.             letter-spacing: 0.8em;
  33.             margin-left:2px;
  34.         }
  35.         a:hover{
  36.             background: #bbb;
  37.             color: #fff;
  38.         }
  39.         a.home:hover{
  40.             background: #2788da;;
  41.  
  42.         }
  43.         .english{
  44.             letter-spacing: normal;
  45.         }
  46.  
  47.     </style>
  48. </head>
  49. <body>
  50.     <ul>
  51.         <li><a href="#" class="home">首页</a></li>
  52.         <li><a href="#">文章</a></li>
  53.         <li><a href="#">参考</a></li>
  54.         <li><a href="#" class="english">Blog</a></li>
  55.         <li><a href="#">论坛</a></li>
  56.         <li><a href="#">联系</a></li>
  57.     </ul>
  58. </body>
  59. </html>

上课案例下载

实例4、布局

20131128121169836983.png

固定布局:

 
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <title>布局</title>
  6.     <style>
  7.         *{margin: 0;padding: 0;}
  8.         .container{
  9.             width: 960px;
  10.             margin: 0 auto;
  11.         }
  12.         header{
  13.             background-color: #fcc;
  14.         }
  15.         aside{
  16.             float: left;
  17.             width: 180px;
  18.             background-color: #cfc;
  19.             height: 300px;
  20.         }
  21.         .content{
  22.             float: left;
  23.             width: 780px;
  24.             background-color: #ccf;
  25.             height: 300px;
  26.         }
  27.         footer{
  28.             clear: both;
  29.             background-color: #ccc;
  30.         }
  31.     </style>
  32. </head>
  33. <body>
  34.     <div class="container">
  35.         <header>
  36.             <h1>头部</h1>
  37.         </header>
  38.         <aside>侧边栏</aside>
  39.         <div class="content">内容</div>
  40.         <footer>底部</footer>
  41.     </div>
  42. </body>
  43. </html>

弹性布局:

 
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <title>布局</title>
  6.     <style>
  7.         *{margin: 0;padding: 0;}
  8.         .container{
  9.             width: 90%;
  10.             margin: 0 auto;
  11.         }
  12.         header{
  13.             background-color: #fcc;
  14.         }
  15.         aside{
  16.             float: left;
  17.             width: 150px;
  18.             background-color: rgba(0,255,0,0.3);
  19.             height: 300px;
  20.         }
  21.         .content{
  22.             /*float: left;*/
  23.             /*width: calc(100% - 150px);*/
  24.             margin-left: 150px;
  25.             background-color: #ccf;
  26.             height: 300px;
  27.         }
  28.         footer{
  29.             clear: both;
  30.             background-color: #ccc;
  31.         }
  32.     </style>
  33. </head>
  34. <body>
  35.     <div class="container">
  36.         <header>
  37.             <h1>头部</h1>
  38.         </header>
  39.         <aside>侧边栏</aside>
  40.         <div class="content">内容</div>
  41.         <footer>底部</footer>
  42.     </div>
  43. </body>
  44. </html>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值