2017-01-24 1 views
0

Я пытаюсь скрыть все элементы, кроме тех, что находятся в div «print». Я не уверен, что мой синтаксис является правильным:CSS выберите все элементы, кроме элементов и дочерних элементов в определенном классе

@media print { 
      body *:not(#printable *) { display: none;  } 
} 
+0

'# printable' означает ** идентификатор **' printable'. Для имени класса используйте '.printable'. – GolezTrol

+0

Может быть, вам не хватает запятой. @media принт { корпус *: нет (#printable, *) {дисплей: нет; } } – jmag

+1

Я считаю, что '# printable' является прямым потомком тега тела? Почему бы вам не сделать это проще для себя и не обернуть все остальное в div '# screen', а затем просто скрыть #screen и показать #printable в этом запросе на медиа. – andi

ответ

0

Так что вы хотите напечатать только печати правильно? Если это так, решение заключается в следующем:

@media print { 
    * 
    {  
    display: none !important; 
    } 

    .printable 
    { 
    display: block !important; 
    } 
} 

скрыть все элементы, но не элементы с классом печати

+0

Это переопределяет все стили отображения моего дочернего элемента для печати. –

Смежные вопросы