摩卡1128 2017-01-09 08:13 采纳率: 0%
浏览 697

火狐页面缩放 select标签下拉内容错位。

图片说明

火狐transform: scale(0.8)页面缩放 select标签下拉内容错位。

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-05 13:44
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    这个问题是由于在Firefox中使用了transform: scale(0.8)导致的。这个属性将元素的尺寸缩小到其原始尺寸的80%。如果在<select>元素上应用这个属性,它会使得所有子元素(在这个例子中是选项)也按照相同的比例缩放,从而造成它们的位置错乱。

    要解决这个问题,你可以尝试以下方法:

    1. 禁用CSS变形:通过设置<select>元素的display属性为inline-block或者flex,然后在<select>元素内部添加一个<span>元素来包裹所有的选项,并将其定位为relative以确保样式不会影响其他元素。例如:
    <select disabled>
      <option value="option1">Option 1</option>
      <option value="option2">Option 2</option>
      <option value="option3" selected>Option 3</option>
      <option value="option4">Option 4</option>
      <option value="option5">Option 5</option>
    </select>
    
    <span id="optionsContainer">
      <select id="options">
        <option value="option1">Option 1</option>
        <option value="option2">Option 2</option>
        <option value="option3" selected>Option 3</option>
        <option value="option4">Option 4</option>
        <option value="option5">Option 5</option>
      </select>
    </span>
    
    <style>
    #options {
      display: inline-block;
      position: relative;
    }
    
    #optionsContainer::after {
      content: "";
      position: absolute;
      left: -9999px;
      top: -9999px;
    }
    </style>
    
    1. 修改样式:直接调整<select>元素的宽度和高度使其与实际大小相匹配。这样可以避免对子元素的影响。
    <select disabled>
      <option value="option1">Option 1</option>
      <option value="option2">Option 2</option>
      <option value="option3" selected>Option 3</option>
      <option value="option4">Option 4</option>
      <option value="option5">Option 5</option>
    </select>
    
    <div style="width: 200px; height: 200px;">
      <select id="options">
        <option value="option1">Option 1</option>
        <option value="option2">Option 2</option>
        <option value="option3" selected>Option 3</option>
        <option value="option4">Option 4</option>
        <option value="option5">Option 5</option>
      </select>
    </div>
    

    以上两种方法都可以有效地解决<select>元素下的下拉列表项位置错位的问题。

    评论

报告相同问题?

悬赏问题

  • ¥15 软件供应链安全是跟可靠性有关还是跟安全性有关?
  • ¥15 电脑蓝屏logfilessrtsrttrail问题
  • ¥20 关于wordpress建站遇到的问题!(语言-php)(相关搜索:云服务器)
  • ¥15 【求职】怎么找到一个周围人素质都很高不会欺负他人,并且未来月薪能够达到一万以上(技术岗)的工作?希望可以收到写有具体,可靠,已经实践过了的路径的回答?
  • ¥15 Java+vue部署版本反编译
  • ¥100 对反编译和ai熟悉的开发者。
  • ¥15 带序列特征的多输出预测模型
  • ¥15 Python 如何安装 distutils模块
  • ¥15 关于#网络#的问题:网络是从楼上引一根网线下来,接了2台傻瓜交换机,也更换了ip还是不行
  • ¥15 资源泄露软件闪退怎么解决?