`
umbrellall1
  • 浏览: 146290 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

解决一个页面显示问题

 
阅读更多

 问题的由来



 
这是个正常的页面本身是没什么问题的,当有的用户的分辨率如果低的话,那么问题出来了。

这个页面就变成这个样子



 
这样看也没问题是吧如果我打开一个box 结果会是这样的:

 

 

 



 
下面就会被遮住所以用户需要一个滚动条,将内容往下拉显示出来。当加入了滚动条之后。。

 



 

看似问题是解决了,但是新的问题又来了,在没加滚动条之前菜单是这样的弹出的



 

加入了滚动条之后页面弹出这个框出来没有任何反应,找了一下原因看了下网页结构大概是这样的我画图来表示



 
他们的关系是A父类框,BA的子类同时又是C的父节点,由于A 作为最外层加上滚动条之后那么弹出框C会被A所覆盖,我尝试了设置了z-index 属性然而依然不可能超越滚动条之上,经过百度多方面的提问超越父类滚动条的问题,查询结果是不可能的。既然不可能那么只能走其他的路子了。

由于这个设计需要有个类似滑动所以原生的不行那么就自己写一个吧。经过一阵调试好了滚动条做好了:



 
看样子是没问题了,来测试一下,刚刚鼠标需要点选一个菜单栏的时候左边的菜单还没移动到就消失了这个是怎么回事?经过分析原来是这样的分析图:

 

 



 
问题找到了那么继续改把,我把z-index 设置为999又把它的left靠近右侧ul 那么接下来的效果是这样的:

 

 



 

经过测试这个是没问题的上下左右都很OK,然后把代码提交到测试,正当觉得解决一个问题高兴的时候,测试说其他的功能模块不能点击选择了,说是我代码提交后出现的问题,纳尼?我自己去测试一下看看

 



 

他们说这个input 不能点选,说是加入我代码后出现的问题,我不由的咯噔一下,想了想之前在做滚动条的结构分析图:



 
A是最外层大的框自增长的,B是和浏览器高度一致的框,C就是我们的内容的,因为做这个滚动条需要一个固定的框要和窗体一高高度的div,然后那这个框体的高度和外层的高度进行算法计算滚动条的高度,所以B 一定要在C框体的外层,那么和上个问题又有什么原因呢,原因就是overflow,当Boverflow设置为hidden的时候那么里面的E框就会被遮挡住说以我在设置B层的时候是这样的

 

 



 

这样就不会遮盖住了E框,那么后面的问题来了,我调试一下吧B框打印出来结果果然和我想的一样

 



 

车辆被B层的框遮挡住了,我当场就像把右边的内容的divz-index 那么就会是这样的



 

FFFFFF….. ,那么我把E框的设置成最高级的z-index:999999,后面无论填写多少,始终没有右面的框高度高,这个是为什么呢。。。。,又经过仔细研究分析得出结论,上图:



 
由于A F是同级的E框是A框的子集,A框和F平行,所以E框无论怎么设置高度是无法高于F框的,如果把A框设置高于F那么 B框也会覆盖F框,问题又回转了。烦字惹心头,我尝试将加入CSS hover 当鼠标在A 框的时候那么B框设置为440px 那么,E框就有足够空间可以展示出来了,挡用户移出A或者E框后B 框设置为210px 这样就不会挡住其他的页面了,既然想清楚方案,那么就开始干。经过一阵代码敲击写好了。。。。。但是我还是太年轻,没错,又出问题了。。。。。。上图:

 

 



 
当经过A 后将B 设置为440px;原本是没问题的,问题在于,B继承与A,也就是当鼠标移出A的返回和E的返回在B的范围内,那么这个样式还是认为你在A的范围类,所以B 不会还原为210px;当鼠标移出B的范围 B才会设置为210px; 劳资要奔溃了,尼玛越做水越深。真是桃花潭水深千尺啊…..,既然CSS这条路不行,我试试JS 呢,利用js hover事件做了出来,抱着一点希望试了试:

 



 
结果居然令人愉悦,问题完美解决了。回头看看这个需求,有点想笑,可能有时候看着很简单的事情往往坑就这在那里。

 

 

  • 大小: 181.4 KB
  • 大小: 59.4 KB
  • 大小: 60 KB
  • 大小: 28.3 KB
  • 大小: 11.2 KB
  • 大小: 6.1 KB
  • 大小: 20.4 KB
  • 大小: 16.4 KB
  • 大小: 12.1 KB
  • 大小: 15.1 KB
  • 大小: 6.8 KB
  • 大小: 5.5 KB
  • 大小: 25.5 KB
  • 大小: 24.2 KB
  • 大小: 7.5 KB
  • 大小: 8 KB
  • 大小: 12.7 KB
分享到:
评论

相关推荐

    解决360双核浏览器兼容模式的页面显示问题

    总结来说,解决360双核浏览器兼容模式的页面显示问题,需要开发者了解其双核机制并合理使用内核控制Meta标签。此外,了解页面所依赖的技术特性,选择正确的内核渲染,是确保网站在360浏览器中正常显示的关键。开发者...

    如何解决JSP页面显示乱码问题

    本文将针对JSP页面显示乱码、表单提交中文时出现乱码以及数据库连接时出现乱码这三个方面,提供详细的解决方案。 #### JSP页面显示乱码 **问题描述** 当在JSP页面中尝试显示中文时,可能会遇到乱码问题。例如,在...

    jsp页面显示中文乱码解决.rar

    本主题聚焦于“jsp页面显示中文乱码解决”,这是一个典型的问题,许多开发者在处理包含中文字符的JSP页面时可能会遇到。让我们深入探讨这个问题,并提供一系列解决方案。 1. **字符编码基础** - **字符集与编码**...

    预约页面在红米手机上显示异常的问题解决总结

    有时,主题或插件与特定设备的兼容性问题可能导致页面显示异常。检查当前使用的主题是否已经针对移动设备优化,或者是否有与红米手机冲突的插件,是排查问题的方向。 4. **微信内置浏览器**:标签中提到“微信”,...

    gitlab提交时间显示错误问题解决.docx

    以下是一个详细的解决方案,用于解决GitLab中的这种时间显示错误: 首先,我们需要识别问题的根源。当GitLab显示不正确的提交时间时,通常是因为其内部的JavaScript代码在处理时间转换时出现了问题。源码中可能包含...

    解决vue一个页面中复用同一个echarts组件的问题

    但是接下来出现了一个问题:如果我在同一个页面多次使用这个组件,图表将不能正常显示。分析了一下, echarts通过id获取对象 // 基于准备好的dom,初始化echarts实例 var myChart = echarts.init(document....

    activity_main.xml页面不显示模拟器的解决办法

    在使用Eclipse开发Android应用时,若出现activity_main.xml页面在模拟器中不显示的情况,可以通过调整Eclipse的渲染布局时使用的Android版本来解决。Eclipse开发环境为Android应用提供了设计视图,使得开发者可以在...

    威纶通触摸屏事件显示元件中报警事件信息显示不全的解决办法.docx

    为了解决这个问题,我们需要调整事件显示元件的属性设置。具体步骤如下: 1. 首先,找到屏幕上的事件显示元件,右键单击它,从弹出的菜单中选择“属性”选项,进入元件的配置界面。 2. 在属性窗口中,找到“排序”...

    5种JSP页面显示为乱码的解决方法

    在JSP编程中,开发者经常会遇到页面显示乱码的问题,这不仅影响了用户界面的美观,也可能会导致数据处理的错误。本篇文章将详细介绍五种常见的JSP页面乱码问题及其解决方案。 1. JSP页面显示乱码 这通常是由于字符...

    iframe中页面显示不全1

    在网页设计中,`<iframe>`元素是一种非常实用的工具,它允许我们在一个网页中嵌入另一个网页,比如展示文档、视频或者地图等。当遇到"Iframe中页面显示不全"的问题时,通常是由于iframe的尺寸设置不当或者与被嵌入...

    解决layUI的页面显示不全的问题

    针对这个问题,我们可以通过调整CSS样式属性和修改iframe标签的属性来解决。 首先,layUI使用的是自己的CSS样式来控制组件的外观。如果页面显示不全,一种可能是由于CSS样式定义的尺寸不够适应当前页面的布局需求。...

    iOS新版微信底部工具栏遮挡问题完美解决

    苹果设备(iOS)微信中打开H5页面,从首页跳转到其他页面后,页面的底部会出现一个带有前进和后退按钮工具栏,而该工具栏会遮挡住面底部的内容,影响页面的正常使用。 二、原因分析: 造成该现象的原因是,当页面...

    jsp页面中EL表达式被当成字符串处理不显示值问题的解决方法

    但同时,了解EL表达式的另一个新特性也很重要,那就是它作为JSP 2.0中的一个主要新特性,为JSP页面提供了表达语言支持,让访问JSP隐含对象和JavaBeans组件变得更为简单和方便。JSTL(JavaServer Pages Standard Tag ...

    完美解决iframe跨域问题

    3. **iframe跨域问题**:当iframe加载的页面与包含它的页面不在同一个域时,就会出现跨域问题,导致无法直接通过JavaScript进行通信,如获取iframe内的内容、设置iframe的属性等。 **二、iframe跨域的解决方案** 1...

    \shopex模板+插件\ShopEx登录注册等页面验证码不显示问题终极解决

    本文将深入探讨这个问题,并提供终极解决方案。 验证码不显示的原因通常有以下几点: 1. **浏览器兼容性问题**:ShopEx可能与某些浏览器版本存在兼容性问题,导致验证码图片无法正确加载。检查并尝试更新浏览器到...

    解决layui laydate 时间控件一闪而过的问题

    问题:一个页面多次重载时间控件,并且都是不同页面,会导致时间控件绑定了,又被覆盖其他id的时间控件,又重新绑定上去。就会导致点击日期框 ,弹框一闪而过,从其他弹窗切换回来,又有了。 解决方式: 1.把lay-...

    jsp页面显示中文乱码解决.pdf

    解决 jsp 页面显示中文乱码的方法是:在 jsp 页面设置 pageEncoding 和 contentType 的其中一个或者两个为支持中文的编码格式,如 utf-8、gbk、gb2312 等,并且在 post 方式传值和 get 方式传值时,需要设置 request...

    关于解决ElementUi中select框在页面滚动时el-option超出元素区域的问题+ cascader滚动超出问题

    本文将详细探讨这两个问题的原因及解决方案。 首先,我们来分析Select框在页面滚动时el-option超出元素区域的问题。这通常是由于CSS定位不当导致的。ElementUI的Select组件默认使用绝对定位,当页面滚动时,Select...

    bootstrap页面同时有两个(以上)轮播图问题

    本篇文章将深入探讨这个问题,提供解决方案,并通过实例来演示如何正确地在同一个页面上实现多个独立的轮播图。 一、问题概述 当Bootstrap页面上有两个或更多的轮播图时,由于它们共享相同的CSS和JavaScript代码,...

Global site tag (gtag.js) - Google Analytics