【问题标题】:Disable Text is not working on webpage for IE and Microsoft Edge禁用文本在 IE 和 Microsoft Edge 的网页上不起作用
【发布时间】:2018-08-21 18:33:56
【问题描述】:

我编写了 CSS 来禁用网页中的数字选择(CSS 类“table_border”)。它在 Chrome 和 Firefox 上按预期工作。但是,当我们在 Edge 和 IE 浏览器中从顶部拖动时,我仍然可以选择数字。更多详细信息,请参阅下面的 sn-p。

.table {
  width: 100%;
}

.tableText>.table_head th {
  color: #fff;
  text-align: left;
}

.tableText {
  background: #5d5d5d;
  padding: 3px;
}

.table_border {
  text-align: center;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -o-user-select: none;
}

.table-striped>tbody>.row_border:nth-child(even)>td,
.table-striped>tbody>.row_border:nth-child(odd)>td {
  background-color: #f9f9f9;
}
<div class="tableText">
  <table class="table table-condensed table-striped table_head">
    <thead>
      <tr>
        <th colspan="2">Python</th>
      </tr>
    </thead>

    <tbody>
      <tr class="row_border">
        <td class="table_border">1</td>
        <td>try:</td>
      </tr>
      <tr class="row_border">
        <td class="table_border">2</td>
        <td>&nbsp;&nbsp;&nbsp;&nbsp;x= 1/0</td>
      </tr>
      <tr class="row_border">
        <td class="table_border">3</td>
        <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
      </tr>
      <tr class="row_border">
        <td class="table_border">4</td>
        <td>except ZeroDivisionError:</td>
      </tr>
      <tr class="row_border">
        <td class="table_border">5</td>
        <td>&nbsp;&nbsp;&nbsp;&nbsp;print ("You can't divide by zero, you're silly.")</td>
      </tr>
    </tbody>
  </table>
</div>

【问题讨论】:

标签: html css internet-explorer microsoft-edge


【解决方案1】:

你可以用好技巧psuedo element

psuedo element 永远不会是 selectable,因此您可以创建 :beforetr td:first-child 并使用 aria-label="" 设置您想要的值

看这里:

.table {
  width: 100%;
}
.tableText>.table_head th {
  color: #fff;
  text-align: left;
  margin:0;
}
.tableText {
  background: #5d5d5d;
  padding: 5px;
}
tr td:first-child:before {
  content: attr(aria-label);
  border-right: 5px solid #5d5d5d;
  padding: 8px;
}
.table-striped>tbody>.row_border:nth-child(even)>td,
.table-striped>tbody>.row_border:nth-child(odd)>td {
  background-color: #f9f9f9;
}
<div class="tableText">
  <table class="table table-condensed table-striped table_head">
    <thead>
      <tr>
        <th colspan="2">Python</th>
      </tr>
    </thead>

    <tbody>
      <tr class="row_border">            
        <td aria-label="1">try:</td>
      </tr>
      <tr class="row_border">           
        <td aria-label="2">&nbsp;&nbsp;&nbsp;&nbsp;x= 1/0</td>
      </tr>
      <tr class="row_border">            
        <td aria-label="3">&nbsp;&nbsp;&nbsp;&nbsp;</td>
      </tr>
      <tr class="row_border">           
        <td aria-label="4">except ZeroDivisionError:</td>
      </tr>
      <tr class="row_border">            
        <td aria-label="5">&nbsp;&nbsp;&nbsp;&nbsp;print ("You can't divide by zero, you're silly.")</td>
      </tr>
    </tbody>
  </table>
</div>

【讨论】:

  • 告诉我更多帮助:)
  • 谢谢,@ לבנימלכה。它现在也在 EDGE 和 IE 11 中选择数字,但是,在 EDGE 中,当我们尝试复制和粘贴时,我只能粘贴 python 代码而不是数字。
  • 在 IE 11 中我仍然面临同样的问题,复制所有代码,包括数字
  • 不选择怎么cpy??
  • 在 IE 中也选择索引?
猜你喜欢
  • 1970-01-01
  • 2017-10-19
  • 2020-02-27
  • 1970-01-01
  • 2017-12-06
  • 2020-03-01
  • 2015-11-30
  • 2020-03-07
  • 1970-01-01
相关资源
最近更新 更多