HTML学习(二)

如果试图使用框架布局编写网页,在H5中”frame”标签已被弃用(”frameset”标签自然也被弃用了),取而代之的是”iframe”标签。后者比之前者后者用用更加优越的灵活性。
例如:

  1. frame不能脱离frameset单独使用,iframe则可以。
  2. fram不能放置与body中,这意味着如果你想使用框架布局则整个页面都必须使用框架,不能有其他的标签,iframe则没有这个限制
  3. frame不能独立调整大小,只能通过frameset实现,而iframe可以通过css调整大小

下面是一个展示a标签中的target属性与iframe标签结合的栗子:

主页面:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>老阿姨黄可,2333</title>
</head>
<body>
<iframe style="width: 50%;height: 100%;position: absolute;top: 0;left: 0" src="左框架.html" name="左框架"></iframe>
<iframe style="width: 50%;height: 100%;position: absolute;top: 0;left: 50%" src="右框架.html" name="右框架"></iframe>
</body>
</html>

左框架:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>左框架</title>
</head>
<body style="background-color: #68acd3">
<iframe name="左框架的子框架" src="左框架的子框架.html" style="position: absolute;top: 0;left: 0px;height: 50%;width: 100%"></iframe>
</body>
</html>

左框架的子框架:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>左框架的子框架</title>
</head>
<body style="background-color: #FFCCCC">
    <ul>
        <li><a href="test.html" target="_blank">_blank</a></li>
        <li><a href="test.html" target="_self">_self</a></li>
        <li><a href="test.html" target="_parent">_parent</a></li>
        <li><a href="test.html" target="_top">_top</a></li>
        <li><a href="test.html" target="右框架">右框架</a></li>
    </ul>
</body>
</html>

右框架:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>右框架</title>
</head>
<body style="background-color: #ff6600">

</body>
</html>

test.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>黄可老阿姨</title>
</head>
<body>
<div style="background-color: #FF0000;width: 600px;height: 400px;position: absolute;top: 50%;left: 50%;margin-left: -300px;margin-top: -200px">
    <p style="text-align: center;line-height: 400px;">黄可老阿姨,2333</p>
</div>
</body>
</html>

效果如图:
这里写图片描述

但是使用框架布局也有不少坏处,例如:

  1. 框架结构有时会让人迷惑,特别是你拥有特别多滚动条时,会压榨原本属于内容的空间。
  2. 它调用外部的页面,也会额外调用外部界面的CSS,给页面额外的请求次数。
  3. 阻塞window的onload事件触发,如果使用iframe标签,那么onload需要在所有iframe加载完毕之后(包括外部页面的各种元素)才能触发。这会给人一种非常慢的感觉,

注释:window.onload事件是一个在文档与图片加载完毕之后才会触发的事件,常用于避免JavaScript脚本获取不到对象的情况的发生

CSS布局是一项需要多练习的技能,有时候一些比较简单的问题,却得不到一个好的答案,比如元素的自适应定位。

例如自适应的居中:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>自适应居中</title>
</head>
<body>
    <div style="
    position: absolute;
    top: 50%;
    left: 50%;
    height: 200px;
    width: 300px;
    margin-top: -100px;
    margin-left: -150px;
    background-color: #FFCCCC"
    >
    </div>
</body>
</html>

这里top:50%,left:50%将元素的左上角定位在页面的中央,margin-top: -100px, margin-left: -150px,各取高宽的一半,则将元素向上和向左各移动元素高宽的一班,达到居中效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值