当我将我的 svg 内联到 html 中并在其中放置一个下拉切换类时,它工作得很好。 但是当我用对象标签包装它时,它会显示 svg 本身,但是当我单击它时,它不会显示下拉菜单,或者很快 - 它不起作用。
这是与内联 svg 一起使用的代码:
<div class="dropdown pull-left">
<svg class="sidebar-icon-size notifications-icon dropdown-toggle"
data-toggle="dropdown" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 12.7 14" style="enable-background:new 0 0 12.7 14;" xml:space="preserve">
<path d="M6.1,9.5c-1.6,0.6-2.7,1.3-3.4,1.9c0.5,0.5,1.5,0.6,2.4,0.2c1.2-0.4,1.9-1.5,1.7-2.3c0,0,0,0,0,0C6.5,9.3,6.3,9.4,6.1,9.5
M7.1,12.2c-3.1,1.1-5.6,0.5-5.7,0.2c-0.2-0.5,1-2.2,4.5-3.5c3.5-1.3,5.5-0.8,5.7-0.2C11.7,9,10.1,11.1,7.1,12.2 M10,5.8
C8.2,1.9,7.3,0.5,4.3,0.5c-1.1,0-0.8-0.8-1.6-0.5C1.9,0.4,2.6,0.8,1.8,1.5c-2.3,1.9-2.1,3.6-1,7.8c0.4,1.7-1.1,1.8-0.5,3.5
C0.7,14,4,14.5,7.4,13.3c3.4-1.3,5.6-3.8,5.2-5C12,6.5,10.8,7.5,10,5.8" />
</svg>
<ul class="topbar-menu dropdown-menu pull-right" style="width:200px;">
<li>blabla 1</li>
<li>blabla 2</li>
<li>blabla 3</li>
</ul>
</div>
下面是不适用于包装器对象标签的代码:
<div class="dropdown pull-left">
<object class="topbar-icon-size notifications-icon dropdown-toggle"
data-toggle="dropdown"
data="../../Styles/Icons/Notifications.svg"
type="image/svg+xml"></object>
<ul class="topbar-menu dropdown-menu pull-right" style="width:200px;">
<li>blabla 1</li>
<li>blabla 2</li>
<li>blabla 3</li>
</ul>
</div>
我尝试从 object 标签中删除 dropdown-toggle 类和 data-toggle 属性,以便它们仅保留在 svg 文件中,反之亦然,将它们从 svg 文件中删除并仅将它们放在对象中标签,当它们同时出现时我都试过了,但无论如何都没有用。 任何帮助,将不胜感激。 谢谢:)
最佳答案
我怀疑原因可能是与点击 <object>
相关的浏览器安全限制所致。元素。
尝试使用 <img>
相反。
<div class="dropdown pull-left">
<img class="topbar-icon-size notifications-icon dropdown-toggle"
data-toggle="dropdown"
src="../../Styles/Icons/Notifications.svg"/>
<ul class="topbar-menu dropdown-menu pull-right" style="width:200px;">
<li>blabla 1</li>
<li>blabla 2</li>
<li>blabla 3</li>
</ul>
</div>
关于html - Bootstrap 下拉切换不适用于包装在对象标签中的 svg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42251520/