我这里在配置项里设置的宽度百分比,是与浏览器宽度相比,而不是原select默认宽度相比,什么情况?

我这里在配置项里设置的宽度百分比,是与浏览器宽度相比,而不是原select默认宽度相比,什么情况?

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>使用插件chosen</title>

<link rel="stylesheet" type="text/css" href="https://cdn.bootcss.com/chosen/1.8.8.rc6/chosen.css">

</head>

<body>

<select name="demo" id="demo" style="width: 300px">

<option value="1">1</option>

<option value="2">2</option>

<option value="3">3</option>

<option value="4">4</option>

</select>

<br><br>

<select name="demo2" id="demo2" multiple data-placeholder="请选择...">

<option value="1">1</option>

<option value="2">2</option>

<option value="3">3</option>

<option value="4">4</option>

</select>


<script src="../vendor/jquery-1.12.4.js"></script>

<script src="https://cdn.bootcss.com/chosen/1.8.8.rc6/chosen.jquery.js"></script>

<script type="text/javascript">

$(function(){

$('#demo').chosen();

$('#demo2').chosen({

width:'100%'


});

});

</script>

</body>

</html>

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

正在回答

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

1回答

你好同学 , 因为设置的百分比是根据参照父元素计算的 , 在这个插件中 ,设置的宽度100%是作用在如下盒子上面的 ,也就是说 ,这个插件 , 它生成的盒子并不是在select的里面 ,而是与select是兄弟元素 . 所以它参照的是body的宽度 . 相对浏览器100%显示 . 

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

希望解答了你的疑惑 ,祝学习愉快 ,望采纳 .

  • 精慕门1783232 提问者 #1
    但是我用的跟视频课程里老师用的一样的插件,老师那里插件生成的盒子就是在select里面吗?
    2018-12-03 17:54:39
  • 好帮手慕夭夭 回复 提问者 精慕门1783232 #2
    也是在select外面生成的 , 同学可以下载源码看一下 . 源码中设置的宽度为50% ,所以宽度是浏览器宽度的一半
    2018-12-03 18:24:47
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

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

在线咨询

领取优惠

免费试听

领取大纲

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