Какова правильная структура для «enable-background» элемента SVG? [Дубликат]

Наряду с принятым ответом, который правильно объяснил проблему, в понимании вашего списка, если вы используете python-2.x, используйте xrange(), который возвращает более эффективный генератор (range() в python 3 выполняет ту же работу ) _ вместо переменной throw n:

[[1]*4 for _ in xrange(3)]      # and in python3 [[1]*4 for _ in range(3)]

Кроме того, в качестве более Pythonic способа вы можете использовать itertools.repeat() для создания объекта итератора повторяющихся элементов:

>>> a=list(repeat(1,4))
[1, 1, 1, 1]
>>> a[0]=5
>>> a
[5, 1, 1, 1]

PS Используя numpy, если вы хотите создать только массив единиц или нулей, вы можете использовать np.ones и np.zeros и / или для использования других чисел np.repeat():

In [1]: import numpy as np

In [2]: 

In [2]: np.ones(4)
Out[2]: array([ 1.,  1.,  1.,  1.])

In [3]: np.ones((4, 2))
Out[3]: 
array([[ 1.,  1.],
       [ 1.,  1.],
       [ 1.,  1.],
       [ 1.,  1.]])

In [4]: np.zeros((4, 2))
Out[4]: 
array([[ 0.,  0.],
       [ 0.,  0.],
       [ 0.,  0.],
       [ 0.,  0.]])

In [5]: np.repeat([7], 10)
Out[5]: array([7, 7, 7, 7, 7, 7, 7, 7, 7, 7])

83
задан Denilson Sá Maia 5 June 2014 в 01:36
поделиться

2 ответа

Предполагается сделать фоновое изображение доступным для дочерних элементов элемента, для которого он указан, для таких вещей, как эффекты фильтра, которые смешивают контент с фоном (могут быть другие применения, но это тот, который я знаю). Если у вас его нет, то технически элемент не может использовать фоны, созданные предками. Единственным крупным браузером, поддерживающим его, является IE10 +, поэтому он не очень сильно используется. (Он также присутствует в качестве шаблона в каждом экспорте SVG Illustrator - без уважительной причины.)

90
ответ дан Michael Mullany 21 August 2018 в 01:58
поделиться
  • 1
    Я не был слишком шокирован, когда этого не было на caniuse.com. Однако было шокирующим, что примеры w3.org не работали на chrome / mac. Идите IE 10+, чтобы стать первым. – QueueHammer 24 September 2014 в 04:50
  • 2
    Его устарело, т. Е. Никто не собирается его реализовывать: w3.org/TR/filter-effects/#AccessBackgroundImage Иллюстратор скорее испортил его, поставив его повсюду, что означает, что UA не может использовать его так, как он был предназначен быть использованным. Это и тот факт, что было практически невозможно реализовать спецификацию, как написано, обеспечило ее кончину. – Robert Longson 24 September 2014 в 16:37
  • 3
    Просто хотелось бы упомянуть, что IE11 / Edge по-прежнему поддерживает эту функцию, но нам пришлось отключить поддержку, когда она используется на основе root & lt; svg & gt; элемент из-за того, что Inkscape добавляет его в каждый файл (вызывая первичную проблему). На сегодняшний день другие браузеры по-прежнему не поддерживают In1 / In2 = BackgroundImage, но только IE и Edge. – FremyCompany 19 May 2017 в 03:08
  • 4
    +1 для "Он также присутствует в качестве шаблона в каждом экспортировании SVG Illustrator - без уважительной причины." - удивлялся, что коллега добавит этот атрибут в этом случае; это объясняет это. – tremby 14 August 2018 в 00:13

Поскольку , отмеченный Робертом Лонгсоном в комментариях , атрибут enable-background является устаревшим, по крайней мере, с 2014 года .

SVG 1.1 представил свойство enable-background. Свойство определило обратное падение в области фильтра во время вызова элемента <filter>. Было определено, что концепция, определенная этим свойством, несовместима с моделью стекового контекста в CSS в момент написания этой спецификации. UA могут выбрать реализацию свойства enable-background, как определено в SVG 1.1, но не будут совместимы с этой спецификацией или с помощью CSS Compositing и Blending [рабочий проект W3C].

8
ответ дан sanmai 21 August 2018 в 01:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: