关于HTML的几个技巧

8 篇文章 0 订阅
6 篇文章 0 订阅

模拟绝对定位

在浏览器中为了实现绝对定位诸多方法,今天就解决兼容性的问题,来模拟决定定位。

  1. 相对于html的绝对定位

原理:当不给绝对定位设置父元素定位时,那么默认的相对于父级定位,
也就是想对于html定位。
html:100%;及可视区域的大小
将超过可视区域的面积设置截取,则html永远的高度就是可视区域高度,不会被撑开;

代码如下:

 html{
 height:100%;
 overflow:hidden;
  border: 2px solid yellow;
  }
    body{
    margin:0;
    height:100%;
    overflow:auto;
    }
    .box{
    height:2000px;
     border: 2px solid #000;
     }
    .div{
    width:100px;
    height:100px;
    background:red; position:absolute;left:100px;top:100px;}
  1. js代码实现
    再此只讨论html技巧,所以js也就不实现了,思想也挺简单的。

等高布局

原理:当一边的高度与另一边的高度不一致的时候,短的那一边利用padding假装填充。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
    /*
    原理:当一边的高度与另一边的高度不一致的时候,短的那一边利用padding假装填充。
    */
        * {
            padding: 0;
            margin: 0;
        }

        .wrap {
            width: 1000px;
            border: 2px solid #000;
            overflow: hidden;
        }
        .left {
            float: left;
            padding-bottom: 10000px;
            margin-bottom: -10000px;
            width: 100px;
            background-color: red;
        }
        .right {
            float: right;
            padding-bottom: 10000px;
            margin-bottom: -10000px;
            width: 100px;
            background-color: blue;
        }
    </style>
</head>
<body>
    <div class="wrap">
        <div class="left">这里就是左边</div>
        <div class="right">
        这里就是右边
        这里就是右边
        这里就是右边
        这里就是右边
        这里就是右边
        这里就是右边
        这里就是右边
        </div>
    </div>
</body>
</html>

双飞翼布局

双飞翼布局是一种比较灵活的布局,始于淘宝UED,玉伯提出的,当然他着重介绍的是双飞翼栅格布局。

  本文着重讲解常用三栏布局。通俗一点讲,可以把三栏比作一只鸟,main部分相当是于鸟的身体,而left与right就是鸟的“翼”了,鸟想要平衡地飞翔就要把主体位置给摆正确,然后在“翼”的作用下开始起飞。布局也是一样的,我们也要先把主体给摆好,然后再合理地调整双翼,这样整体动作才会比较和谐。

为了快速加载主体内容,我们在布局时候可以把最重要的放在最前面。比如:

div class="wrap">

<div class="main">main</div>

<div class="left">left</div>

<div class="right">right</div>

</div>

有两种方法实现,1、两边使用绝对定位 2、两边使用margin值

.center{height:600px;background:#f60;margin:0 200px;}
.left{width:200px;background:#fc0;height:600px; position:absolute;left:0;top:0;}
.right{width:200px;background:#fcc;height:600px;position:absolute;right:0;top:0;}
首先呢,我们需要把这三列都浮动起来,即:

.main,.left,.right { float:left;  height:200px; }
.main { width:100%;  background:#ace; }
.left { width:20%; background:#eee; margin-left:-100%; }     
.right { width:30%; background:#ddd; margin-left:-30%; }  
设置margin:0 30% 0 20%;,把两边内容给挤开,这样才是完美的效果。

图片居中问题

**原理:1.水平方向text-align:center 竖直方向:利用一个附加span进行居中
2.父元素display:table 子元素:display:table-cell**

<!DOCTYPE HTML>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>无标题文档</title>
    <!-- 
    1.水平方向text-align:center    竖直方向:利用一个附加span进行居中

    2.父元素display:table          子元素:display:table-cell
     -->
    <style>
        .box{ width:800px;height:600px;border:2px solid #000; text-align:center;}
        span{ display:inline-block; height:100%; vertical-align:middle;}
        img{ vertical-align:middle;}
    </style>
</head>
<body>
    <div class="box">
        <img src="bigptr.jpg" /><span></span>
    </div>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值