百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

长沙前端培训班分享:iframe中的二级菜单被遮盖怎么办?

yuyutoo 2024-10-24 17:48 2 浏览 0 评论

在我们开发的时候,经常会遇得到一些网站,头部和尾部一毛一样,这样头部尾部相同的网站,怎么都不可能把头部和尾部重新书写一遍吧,不仅浪费时间还显示的是自己的网站代码重复率比较多,显示自己没有水平。下面长沙前端培训班分享:iframe中的二级菜单被遮盖怎么办:

解决这个问题首先需要我们经常会把这样重复的头部和尾部都单独提出来,制作成一个独立的网页,然后通过iframe框架进行引入。如果公共头部中有对应的一级导航和二级菜单导航的胡被遮住这可怎么解决呢?

各种网站和各种公众号上面方法使用了js,但是js比较麻烦,并且代码粘贴下来使用的时候会出现问题,跑不起来,接下来由我提供给你们一个简单快速高效的解决问题办法。那叫一个so easy;并且关键代码也给出了注释哟,值得你来查看。问题代码:

(一)公共头部----带有二级菜单

HTML源码

<!-- 这里是头部logo区域 -->

<div class="box">这里是logo</div>

<!-- 通栏和导航 -->

<div class="layout">

<ul>

<li>你好

<ul>

<li>你好1</li>

<li>你好2</li>

<li>你好3</li>

</ul>

</li>

<li>我好

<ul>

<li>我好1</li>

<li>我好2</li>

<li>我好3</li>

<li>我好4</li>

</ul>

</li>

<li>大家好

<ul>

<li>大家好1</li>

<li>大家好2</li>

</ul>

</li>

<li>勇哥

<ul>

<li>勇哥1</li>

<li>勇哥2</li>

<li>勇哥3</li>

</ul>

</li>

<li>真的

<ul>

<li>真的1</li>

<li>真的2</li>

<li>真的3</li>

<li>真的4</li>

<li>真的5</li>

</ul>

</li>

<li>很帅

<ul>

<li>真的1</li>

<li>真的2</li>

<li>真的3</li>

<li>真的4</li>

<li>真的5</li>

</ul>

</li>

<li>好帅啊

<ul>

<li>真的1</li>

<li>真的2</li>

<li>真的3</li>

<li>真的4</li>

<li>真的5</li>

</ul>

</li>

<li>太帅了

<ul>

<li>真的1</li>

<li>真的2</li>

<li>真的3</li>

<li>真的4</li>

<li>真的5</li>

</ul>

</li>

<li>真的哦

<ul>

<li>真的1</li>

<li>真的2</li>

<li>真的3</li>

<li>真的4</li>

<li>真的5</li>

</ul>

</li>

<li>结束了

<ul>

<li>真的1</li>

<li>真的2</li>

<li>真的3</li>

<li>真的4</li>

<li>真的5</li>

</ul>

</li>

</ul>

</div>

CSS源码

<style>

*{margin:0;padding:0}

ul{list-style:none}

a{text-decoration: none;}

img{vertical-align: middle;}

.box{

width:1000px;

height:100px;

background-color: pink;

margin:0 auto;

font-size:50px;

font-weight: bold;

text-align: center;

line-height: 100px;

}

.layout{

height:60px;

background-color:cornflowerblue;

}

.layout>ul{

width: 1000px;

margin: 0 auto;

height:60px;

}

.layout>ul>li{

font-size:14px;

float: left;

width:100px;

text-align: center;

line-height: 60px;

border-right:1px dashed white;

box-sizing: border-box;

color:white

}

.layout>ul>li:last-child{

border-right:0px

}

.layout>ul>li>ul{

background-color: pink;

color:white;display: none;

}

.layout>ul>li:hover>ul{

display: block;

position: relative;

}

/* 取消滚动条 */

::-webkit-scrollbar{

display: none;

}

</style>

效果:

(二)公共主体----需要引入头部

HTML源码

<!-- 引入头部 -->

<iframe id="one" src="01-header.html" frameborder="0" width="100%" height="160px"frameborder="0"></iframe>

<!-- 独立主体 -->

<div class="tip" wmode="transparent">

我是独立的页面主体部分

</div>

<!-- 引入尾部 -->

<iframe src="03-footer.html" frameborder="0" frameborder="0" width="100%" height="100px"frameborder="0"></iframe>

CSS源码

*{margin:0;padding:0}

.tip{

height:500px;

background-color: yellowgreen;

text-align: center;

line-height: 500px;

font-size:80px;

font-weight:bold;

}

/*取消3像素间距*/

iframe{vertical-align: middle;}

/*取消滚动条*/

::-webkit-scrollbar{

display: none;

}

效果:

问题所在

描述:引入公共的头部之后,二级菜单,被主体区域内容给遮盖住了,使用js实现起来也是非常的困难的;

解决问题:描述如下

将在主体引入的头部页面中,引入的顺序改变一下,放在主体的后面;放在主体后面的话加载顺序就会出现问题,主体就会显示在主体后面。那如何调整顺序问题呢?使用固定定位,定位在引入页面的最上面,但是定位后也会把布局遮盖住,如何解决遮盖主体的问题呢,就是需要给主体添加margin-top;来解决问题,这样二级菜单就能显示出来了

修改后的主体代码:HTML

<!-- 独立主体 -->

<div class="tip" wmode="transparent">

我是独立的页面主体部分

</div>

<!-- 引入头部 -->

<iframe id="one" src="01-header.html" frameborder="0" width="100%" height="160px"frameborder="0"></iframe>

<!-- 引入尾部 -->

<iframe src="03-footer.html" frameborder="0" frameborder="0" width="100%" height="100px"frameborder="0"></iframe>

效果:加载顺序

修改代码:CSS

<style>

*{margin:0;padding:0}

.tip{

height:500px;

background-color: yellowgreen;

text-align: center;

line-height: 500px;

font-size:80px;

font-weight:bold;

/*修改的代码*/

margin-top:160px

}

iframe{vertical-align: middle;}

::-webkit-scrollbar{

display: none;

}

/*修改的代码*/

#one{

position:fixed;

top:0px;

width:100%;

height:500px;

}

</style>

效果:

以上就是:通过HTML和CSS来解决,iframe二级菜单被遮住的效果:关键代码就是调整顺序,和添加定位。

相关文章

相关推荐

jQuery VS AngularJS 你更钟爱哪个?

在这一次的Web开发教程中,我会尽力解答有关于jQuery和AngularJS的两个非常常见的问题,即jQuery和AngularJS之间的区别是什么?也就是说jQueryVSAngularJS?...

Jquery实时校验,指定长度的「负小数」,小数位未满末尾补0

在可以输入【负小数】的输入框获取到焦点时,移除千位分隔符,在输入数据时,实时校验输入内容是否正确,失去焦点后,添加千位分隔符格式化数字。同时小数位未满时末尾补0。HTML代码...

如何在pbootCMS前台调用自定义表单?pbootCMS自定义调用代码示例

要在pbootCMS前台调用自定义表单,您需要在后台创建表单并为其添加字段,然后在前台模板文件中添加相关代码,如提交按钮和表单验证代码。您还可以自定义表单数据的存储位置、添加文件上传字段、日期选择器、...

编程技巧:Jquery实时验证,指定长度的「负小数」

为了保障【负小数】的正确性,做成了通过Jquery,在用户端,实时验证指定长度的【负小数】的方法。HTML代码<inputtype="text"class="forc...

一篇文章带你用jquery mobile设计颜色拾取器

【一、项目背景】现实生活中,我们经常会遇到配色的问题,这个时候去百度一下RGB表。而RGB表只提供相对于的颜色的RGB值而没有可以验证的模块。我们可以通过jquerymobile去设计颜色的拾取器...

编程技巧:Jquery实时验证,指定长度的「正小数」

为了保障【正小数】的正确性,做成了通过Jquery,在用户端,实时验证指定长度的【正小数】的方法。HTML做成方法<inputtype="text"class="fo...

jquery.validate检查数组全部验证

问题:html中有多个name[],每个参数都要进行验证是否为空,这个时候直接用required:true话,不能全部验证,只要这个数组中有一个有值就可以通过的。解决方法使用addmethod...

Vue进阶(幺叁肆):npm查看包版本信息

第一种方式npmviewjqueryversions这种方式可以查看npm服务器上所有的...

layui中使用lay-verify进行条件校验

一、layui的校验很简单,主要有以下步骤:1.在form表单内加上class="layui-form"2.在提交按钮上加上lay-submit3.在想要校验的标签,加上lay-...

jQuery是什么?如何使用? jquery是什么功能组件

jQuery于2006年1月由JohnResig在BarCampNYC首次发布。它目前由TimmyWilson领导,并由一组开发人员维护。jQuery是一个JavaScript库,它简化了客户...

django框架的表单form的理解和用法-9

表单呈现...

jquery对上传文件的检测判断 jquery实现文件上传

总体思路:在前端使用jquery对上传文件做部分初步的判断,验证通过的文件利用ajaxFileUpload上传到服务器端,并将文件的存储路径保存到数据库。<asp:FileUploadI...

Nodejs之MEAN栈开发(四)-- form验证及图片上传

这一节增加推荐图书的提交和删除功能,来学习node的form提交以及node的图片上传功能。开始之前需要源码同学可以先在git上fork:https://github.com/stoneniqiu/R...

大数据开发基础之JAVA jquery 大数据java实战

上一篇我们讲解了JAVAscript的基础知识、特点及基本语法以及组成及基本用途,本期就给大家带来了JAVAweb的第二个知识点jquery,大数据开发基础之JAVAjquery,这是本篇文章的主要...

推荐四个开源的jQuery可视化表单设计器

jquery开源在线表单拖拉设计器formBuilder(推荐)jQueryformBuilder是一个开源的WEB在线html表单设计器,开发人员可以通过拖拉实现一个可视化的表单。支持表单常用控件...

取消回复欢迎 发表评论: