HTML引入公共导航栏及导航栏下拉框被覆盖的解决方法

html中引入导航栏可以使用 iframe 内联框架首先制作一个公用头部文件 head.html ,在需要引入头部文件的开始位置增加以下代码:

 <iframe MARGINWIDTH=0 MARGINHEIGHT=0 HSPACE=0 VSPACE=0 FRAMEBORDER=0 
    SCROLLING=no src="head.html" height=“auto” width="100%"></iframe>

例如:head.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>头部文件</title>
    </head>
    <body>
    	<div class="head" style="height: 300px;
    	width: 100%;background: red">
    	</div>
    </body>
    </html>

index.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>引用头部的文件</title>
    </head>
    <body>
       <iframe MARGINWIDTH=0 MARGINHEIGHT=0 HSPACE=0 VSPACE=0 FRAMEBORDER=0 
       SCROLLING=no src="head.html" width="100%"  height="auto">
      </iframe>
    </body>
    </html>

用内联框架的方式嵌入头部,更改头部样式时,不必每个页面都全改一遍,方便了代码维护,能减轻很多工作量,但是我使用的头部导航栏有下拉框。用iframe的方式嵌入发现首页无法显示下拉框,总是被下面的元素遮盖,无论怎么调z-index,都不能使其显示出来。找了好多种方法,最后解决的方法时将head.html转换为head.js 。然后只需要在index,html文件的开头调用,就可以解决下拉框被遮盖的问题。

    <script type="text/javascript" src="head.js"></script>

html转换js文件,可以用站长工具在线转换 http://tool.chinaz.com/Tools/Html_Js.aspx

转换后的 head.js 文件

    document.writeln("<!DOCTYPE html>");
    document.writeln("<html lang=\'en\'>");
    document.writeln("<head>");
    document.writeln("	<meta charset=\'UTF-8\'>");
    document.writeln("	<title>头部文件</title>");
    document.writeln("</head>");
    document.writeln("<body>");
    document.writeln("	<div class=\'head\' style=\'height: 300px;");
    document.writeln("	width: 100%;background: red\'>");
    document.writeln("	</div>");
    document.writeln("</body>");
    document.writeln("</html>");

index.html 调用公共头部文件

    <!DOCTYPE html>
    <html lang="en">
        <head>
        	<meta charset="UTF-8">
        	<title>引入头部的文件</title>
        	<!-- 导航栏 -->
        	<script type="text/javascript" src="head.js"></script>
        </head>
        <body>
        
        </body>
    </html>

这样便实现了HTML引入公共导航栏,并且解决了导航栏下拉框被覆盖的问题。

  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值