这里我想问为什么我之前设置的默认无边框,通过mouseover触发后添加边框的效果无法实现?

这里我想问为什么我之前设置的默认无边框,通过mouseover触发后添加边框的效果无法实现?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,问题解答如下:

作业中,下拉框的默认样式是1px的橙色边框,高度为0;所以鼠标未移入时,该元素在页面上是一条橙色的线,如下:

http://img1.sycdn.imooc.com//climg/5ec6251709b06af807940531.jpg

作业要求,鼠标未移入时,该下拉框不显示,所以老师将边框颜色设置成了透明。设置成透明之后,该元素会因为白色背景色依旧能看到,如下:

http://img1.sycdn.imooc.com//climg/5ec6253609bb727f07940508.jpg

所以可以将其背景色也设置为透明,这样下拉框整体就看不到了。鼠标移入时,再将边框颜色和背景色设置回来就可以了。

同学所说的设置默认无边框,鼠标移入后再显示边框,也是可以的,如下:

http://img1.sycdn.imooc.com//climg/5ec6255a09b4a90b06120318.jpg

http://img1.sycdn.imooc.com//climg/5ec625670980126708080329.jpg

只是效果不好看,存在以下问题:

1. 边框会影响元素整体大小,所以鼠标移入时,下拉框宽度会变大,效果上能看到元素尺寸变化。

2. 鼠标移出时,边框立刻就消失了,而此时下拉框高度在渐变为0,整体效果不好看。

所以可以设置元素开始就有边框(保持元素尺寸不变),鼠标移出时改变边框颜色(边框和高度一起渐变消失)。

祝学习愉快!


好帮手慕言 2020-05-21 14:12:50

同学你好,为了准确定位到同学的问题,给出解决方案,建议:把完整的代码粘贴上来(html,css,js都要粘贴,不要截图)。祝学习愉快~

  • 提问者 慕雪9296518 #1
    请老师别复制粘贴,这是刚改完的作业,我就是问问实现方法的不同差异在哪里,我想问的是我一开始不设置border,hover之后设置的有border,这个一看就知道我写的是怎么样,只是想问下为什么效果实现不出来
    2020-05-21 14:22:52
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师