2015-05-21 1 views
1

У меня есть следующий HTML:CSS регулярных выражений флаги: игнорировать случай, глобальный поиск

<div> 
    <img class="hi" src="http://i.imgur.com/f9WGFLj.png"></img> 
    <img class="HI" src="http://i.imgur.com/f9WGFLj.png"></img> 
</div> 

И следующий CSS:

img { 
    height:200px; 
    width:auto; 
} 

img[class*='i'] { 
    outline:red inset; 
} 

img[class*='I'] { 
    outline:green inset; 
} 

img[class*=/'i'/i] { 
    outline:blue inset; 
} 

Как вы можете видеть, в последнем CSS фрагменте I» m пытается (непереносимо) перезаписывать предыдущие фрагменты как доказательство концепции. Вопрос заключается в следующем:

Совместим с CSS с флагов Regexp, таких как «игнорировать регистр» и «глобальный поиск?». Если да, то как их можно использовать?

Отдельная заметка (конечная цель для всего этого состоит в том, чтобы получить код CSS, который полностью удаляет фреймы, содержащие «autoplay = 1»), может ли CSS остановить автовоспроизведение?

ответ

1

Насколько мне известно, вы не можете использовать фактические Regex в CSS, есть только то, что называется "Substring matching attribute selectors", который работает как:

[attribute^='...'] /* attribute value starts with '...' */ 
[attribute$='...'] /* attribute value ends with '...' */ 
[attribute*='...'] /* attribute value contains '...' */ 

Но вы уже делаете, что в вашем втором и третьем селекторе.

Что касается другого вопроса

Can CSS привал autoplayback?

Нет, насколько мне известно.

Вы можете сделать элемент невидимым, но это не остановит воспроизведение звука.
Кроме того, в вашем примере в настоящее время невозможно «спуститься» в iframe с помощью CSS. Возможно, будет возможно, когда поддержка Shadow DOM продвинется, но я сомневаюсь, что она будет работать с перекрестным происхождением.

Для просмотра и остановки элементов, которые являются автовоспроизведением, вам понадобится JavaScript, но это тоже будет работать только с одним источником, потому что вы не можете получить доступ к кадрам другого происхождения.
И если страница то же происхождение, вы также можете просто удалить autoplaying элемент из этого сайта ...

Единственное «решение» здесь, вероятно, будут для извлечения содержимого Iframe на сторону сервера, вырезать все нежелательный контент и встроить результат на свою страницу.

+0

Хорошо, спасибо. Знаете что-нибудь о последнем вопросе? –

+0

Что вы подразумеваете под 'iframes, содержащими" autoplay = 1 "'? Iframes, содержащие * любой элемент * с 'autoplay = 1'? – Siguza

+0

Да. Включая youtube.com/embed/...&autoplay=1. –

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