如何基于是否显示父div创建CSS规则:无

问题描述 投票:0回答:1

我想基于设置为display:none的父元素通过CSS更改样式设置。

这里是HTML:

<div id="mapLinkDiv" class="nav nav-second-level">
  <table class="NavSurvey" style="width:180px;">
    <tbody>
      <tr>
        <td>
          <a class="fixedResultsLink" href="/QBMapping/QBMap.aspx" title="Map results by State" target="MapByState">Map by State</a>
        </td>
      </tr>
    </tbody>
  </table>
  <table class="NavSurvey" style="width: 180px; margin-top:10px;">
    <tbody>
      <tr>
        <td style="font-size:12px; text-align:center;">Maps are underdevelopment and may not work properly</td>
      </tr>
    </tbody>
  </table>
</div>

因此,我想建立一条规则,说如果mapLinkDiv显示为:none,则从所有带有class'fixedResultsLink'的标签中删除padding-left。

这是我的CSS(在页面上):

<style>
  a.fixedResultsLink{ 
    padding-left:28px;
  }
  #mapLinkDiv[style*='display:none'] a.fixedResultsLink {
    padding-left:0;
  }
</style>

到目前为止,我发现几乎没有什么可以帮助我解决这个问题,但是在google中输入了错误的标准:)

请注意,这是我正在研究的第二条CSS规则。

我该如何实现?

html css css-selectors
1个回答
1
投票

#mapLinkDiv [style * ='display:none'] a.fixedResultsLink正在选择具有直接后代a.fixedResultsLink的#mapLinkDiv。最简单的方法是将a.fixedResultsLink的所有父标记插入css选择器中,尽管很麻烦。

© www.soinside.com 2019 - 2024. All rights reserved.