Как создать правило CSS на основе отображения родительского div: нет - PullRequest
0 голосов
/ 16 января 2020

Я хочу изменить настройку стиля с помощью 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 это display: none, то удалите отступ слева от всех тегов с классом fixedResultsLink

Вот мой CSS (на странице) в момент:

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

Я нашел немного, чтобы помочь мне понять это до сих пор, но ввод неправильных критериев в Google:)

Просто чтобы быть ясно, это второй CSS Правило, над которым я работаю.

Как мне этого добиться?

1 Ответ

1 голос
/ 16 января 2020

# mapLinkDiv [style * = 'display: none'] a.fixedResultsLink выбирает #mapLinkDiv с прямым потомком a.fixedResultsLink. Самым простым, хотя и уродливым, было бы вставить все родительские теги a.fixedResultsLink в селектор css.

# mapLinkDiv [style * = 'display: none'] таблица tbody tr td a. fixedResultsLink

...