javascript - 下拉菜单中改变线宽

标签 javascript html css select drop-down-menu

如何在下拉菜单中使用 CSS 创建不同的行高?正如您在下面看到的,我正在更改每个元素的字体大小,但是,一旦选择新字体就不会应用。谢谢!

<select>
        <option class="w1">&#9472&#9472&#9472&#9472</option>
        <option class="w2">&#9472&#9472&#9472&#9472</option>
</select>

option.w1  {
  font-size: 5px;
}
option.w2  {
  font-size:8px;  
}

https://jsfiddle.net/kwham1bf/1/

最佳答案

遗憾的是,无法使用 CSS 选择元素的父元素。在这种情况下,父级是选择,子级是选定的选项

如果您需要根据所选的选项设置select的样式,则必须使用JavaScript:

var select = document.querySelector("select");

select.addEventListener("change", function() {
    var selected = document.querySelector("option:checked");
    var selectedFontSize = getComputedStyle(selected, null).getPropertyValue("font-size");
    select.style.fontSize = selectedFontSize;
});
option.w1  {
  font-size: 5px;
  background-repeat: repeat;
  display: inline-block;
  position: static;
  
}

option.w2  {
  font-size:8px;
  background-repeat: repeat;
  display: inline-block;
  position: static;
}

option.w3 {
  font-size: 11px;
  background-repeat: repeat;
  display: inline-block;
  position: static;
}

option.w4 {
  font-size: 14px;
  background-repeat: repeat;
  display: inline-block;
  position: static;
}

option.w5 {
  font-size: 17px;
  background-repeat: repeat;
  display: inline-block;
  position: static;
}

option.w6 {
  font-size: 20px;
  background-repeat: repeat;
  display: inline-block;
  position: static;
}
<div class="row add-top-margin">
  <div class="col-xs-3 section-label">Width</div>
  <select>
    <option class="w1">&#9472&#9472&#9472&#9472</option>
    <option class="w2">&#9472&#9472&#9472&#9472</option>
    <option class="w3">&#9472&#9472&#9472&#9472</option>
    <option class="w4">&#9472&#9472&#9472&#9472</option>
    <option class="w5">&#9472&#9472&#9472&#9472</option>
    <option class="w6">&#9472&#9472&#9472&#9472</option>
  </select> 
</div>

关于javascript - 下拉菜单中改变线宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47719665/

相关文章:

javascript - 如何在同一行的视频旁边获取我的推特提要

javascript - 提交表单时将 div 滚动到顶部

javascript - 如何在javascript中仅保留用户输入的数字

html - 我怎样才能倾斜我的 div 框的中间部分

javascript - 动态创建和处理多个表单字段组

使用智能手机相机拍摄 html5 照片,图像顺时针旋转

javascript - 使用 Knockout JS 进行数据绑定(bind)不起作用

javascript - jQuery 在循环期间非常慢,我可以改进什么?

javascript - react-router:嵌套路由应该渲染 IndexRoute 组件的子组件还是应该渲染智能父(IndexRoute)组件?

CSS 网格和转换 : images overflow and overlap