页面重构css技巧

1.如何让文字在容器内垂直居中?

(1)方法:为容器添加line-height属性,使得line-height的值等于容器的height。

(2)代码

  1. <!doctype html>  
  2. <html>  
  3. <head>  
  4. <meta charset="utf-8">  
  5. <title>无标题文档</title>  
  6. <style type="text/css">  
  7.     .container{  
  8.         width: 300px;  
  9.         height: 500px;  
  10.         margin: 50px;  
  11.         background: blue;  
  12.         line-height: 500px;  
  13.         text-align: center;  
  14.     }  
  15.     .text{  
  16.         color: white;  
  17.     }  
  18. </style>  
  19. </head>  
  20. <body>  
  21.     <div class="container">  
  22.         <p class="text">我是文字</p>  
  23.     </div>  
  24. </body>  
  25. </html>  
(3)原理

首先应该明确line-height的含义。line-height属性的含义是设置行间的距离,简称叫行高。而文字的特点就是会以中线为基准进行显示。也就是说,我们可以做如下实现:设定一个容器div,不为其制定高度,内部的文字为其指定行高,在chrome中变换行高,我们会发现文字一直是在容器中垂直居中显示的。(这里的容器大小完全是被文本撑开的,准确的说是其line-height撑开的)

所以如果外部的div大小确定,将其内部的文字设置line-height为容器高度,从视觉效果上看就实现了文字的垂直居中。但还是应该注意并不是二者配合才生成的这种效果,而是文字本身的显示是围绕中线居中的。


2.如何实现三列布局,两侧固定宽度中间自适应?

(1)方法:利用浮动,分别对左右两侧的div设置向左右两侧浮动,再为中间的div设置相应的margin

(2)代码

  1. <!doctype html>  
  2. <html>  
  3. <head>  
  4. <meta charset="utf-8">  
  5. <title>无标题文档</title>  
  6. <style type="text/css">  
  7.     .container{  
  8.         margin: 50px;  
  9.         height: 500px;  
  10.         width: 100%;  
  11.         border:1px solid blue;  
  12.     }  
  13.     .box{  
  14.         height: 100%;  
  15.         border: 1px solid red;  
  16.     }  
  17.     .left{  
  18.         width: 150px;  
  19.         float: left;  
  20.     }  
  21.     .right{  
  22.         width: 150px;  
  23.         float: right;  
  24.     }  
  25.     .middle{  
  26.         background: green;  
  27.         margin-left: 150px;  
  28.         margin-right: 150px;  
  29.     }  
  30. </style>  
  31. </head>  
  32. <body>  
  33.     <div class="container">  
  34.         <div class="box left"></div>  
  35.         <div class="box right"></div>  
  36.         <div class="box middle"></div>  
  37.     </div>  
  38. </body>  
  39. </html>  
(3)原理

这里利用了默认宽度的方法。一个div,如果不为它设定宽度,那么它的宽度默认值就是100%。也就是说如果父元素宽度是当我们在此基础上为其设定margin-left和margin-right属性值,就会让这个div的宽度相应缩小。

注意,height的默认值是0。


3.如何让一个div铺满整个屏幕

(1)方法:将背景图宽度和高度设置为100%,并且设定position为fixed。

(2)代码

  1. <!doctype html>  
  2. <html>  
  3. <head>  
  4. <meta charset="utf-8">  
  5. <title>无标题文档</title>  
  6. <style type="text/css">  
  7.     *{  
  8.         margin: 0;  
  9.         padding: 0;  
  10.     }  
  11.     .container{  
  12.         width:100%;  
  13.         height: 100%;  
  14.         position: fixed;  
  15.         background: black;  
  16.     }  
  17. </style>  
  18. </head>  
  19. <body>  
  20.     <div class="container">  
  21.     </div>  
  22. </body>  
  23. </html>  
(3)原理如果只设定width和height为100%,那么宽度可以达到100%,但是高度并不会发生变化。设置了position:fixed,其含义为生成绝对定位的元素,并且 相对于浏览器窗口进行定位。因此,这样设定后,整个 Container元素都是依据窗口进行设定的,高度的100%也就是相对于当前窗口大小的100%了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值