选中时复选框的交叉标签

Cross label of checkbox when checked

如何使用CSS勾选Primeng复选框的标签:

<p-checkbox value="test" label="test"> </p-checkbox>

我的复选框:

需要复选框:

<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>
<div _ngcontent-taj-c2="" class="ui-g-11" style="padding: 0%;margin: 0%">
  <p-checkbox _ngcontent-taj-c2="" id="a" value="t.name" ng-reflect-value="t.name" ng-reflect-label="test">
    <div class="ui-chkbox ui-widget" ng-reflect-ng-class="ui-chkbox ui-widget">
      <div class="ui-helper-hidden-accessible">
        <input type="checkbox" ng-reflect-ng-class="[object Object]" name="undefined" value="t.name">
      </div>
      <div class="ui-chkbox-box ui-widget ui-corner-all ui-state-default" ng-reflect-klass="ui-chkbox-box ui-widget ui-cor" ng-reflect-ng-class="[object Object]">
        <span class="ui-chkbox-icon ui-clickable" ng-reflect-klass="ui-chkbox-icon ui-clickable"></span>
      </div>
    </div>
    <label class="ui-chkbox-label ng-star-inserted" ng-reflect-ng-class="[object Object]">test</label>
  </p-checkbox>
</div>

样式 p-checkbox with css 属性 text-decoration: line-through; when it checked

如果您选中 Checkbox 的 documentation,您会看到它有 ui-label-active class,您可以使用它。

::ng-deep .ui-label-active  {
  text-decoration: line-through;
}

重要的是添加 ::ng-deep 以便能够从您的组件访问该元素。

如果你想全局改变它,你可以把它放在styles.css上。只需确保它是在 primeng 样式之后导入的 (In angular.json)

"styles": [
  "node_modules/primeng/resources/themes/nova-light/theme.css",
  "node_modules/primeng/resources/primeng.min.css",
  "src/styles.css"
],

styles.css

.ui-label-active    {
  text-decoration: line-through;
}