Ключи используются в качестве идентификатора для виджетов, элементов и семантических узлов. Вам не нужно использовать ключи большую часть времени, фреймворк обрабатывает его для вас и использует их внутренне для различения виджетов. Подробнее о них см .: https://flutter.dev/docs/development/ui/widgets-intro#keys
Что касается ключевого слова Super : [ 112]
Мы видим, что в вашем примере виджет CardTitle расширяет statelesswidget суперкласса, и в его конструкторе ":" запускает "список инициализаторов", список выражений, разделенных запятыми, которые выполняются перед конструкторами суперклассов и, следовательно, также перед телом конструкторов.
В приведенном выше примере ключевой параметр, передаваемый конструктору, пересылается ключу именованного параметра безымянного конструктора суперкласса.
С одним только CSS Вы не можете обратиться к родителю родителя.
вещь, которую можно сделать, попробовать соединение определенных селекторов CSS и разметки так, чтобы желаемый эффект появился.
<td>
This is the enclosing element.
<ul>
<li>This is the first level UL, direct child of TD
<ul>
<li>This is the second level UL</li>
<li>Same as outside the UL</li>
</ul>
</li>
</ul>
</td>
CSS:
td > ul
color: blue; /* this affects the "direct child" UL only */
}
Вы ограничили бы глубину наследования стиля к одному уровню, следовательно, внутренняя УЛ. не стилизована в отношении цвета и получает свои настройки из текста включения.
Read больше на Дочерний Селектор CSS , и знать, что более старые браузеры могут иметь свои причуды с ними.
<час>РЕДАКТИРОВАНИЕ
Для Internet Explorer 6, дочерний селектор может фальсифицироваться некоторым, расширяются. Обязательно закрепите ремни безопасности (условное выражение комментирует и т.п.) перед использованием этого:
td ul {
color: expression(/TD/.test(this.parentNode.tagName)? "blue" : "black");
}
Это принимает "черный" как внешний цвет. Если это значение цвета подвержено изменениям, Ваш не повезли, я боюсь. Если Вы не можете определить expression()
, который может получить значение цвета от контекста (например, проверяющий некоторые другие свойства родительских элементов). Или Вы сдаетесь и используете платформу JS, как кто-то еще уже предположил.
wimpy решение, не имея необходимость использовать JS, конечно, было бы:
td ul.first {
color: blue;
}
, Но я вижу, почему Вы хотите избежать этого.
Используйте это, чтобы удостовериться, что наследовать переопределения вообще, возможно, выбирали цвет:
blockquote em {
color: inherit !important;
}
Сдайтесь и используйте отрывок JavaScript, чтобы обнаружить стиль родителя и установить его? :)
Если можно изменить HTML, Вы могли бы попробовать
<li><span>This text should be BLUE</span>
<ul>
<li>Same as outside the UL</li>
<li>Same as outside the UL</li>
</ul>
</li>
и стиль
li span{
color: blue;
}
РЕДАКТИРОВАНИЕ другой способ выполнить это без дополнительного тега span:
, Если мы предполагаем, что у нас есть класс стиля (или любой другой селектор), который определяет к родителю внешней ул. Мы можем изменить CSS как это:
.parentStyle,
.parentStyle li li{
color:red;
}
li{
color:blue;
}
Вместо того, чтобы пытаться вынудить селектор наследовать цвет шрифта от своего прародителя, я предложил бы, чтобы Вы дали селектору и его прародителю общее объявление для цвета шрифта.
Взятие примера блока цитирования, предполагая, что тело является прародителем:
body, blockquote em {
color:[whatever];
}
blockquote {
color:red;
}
И в случае незаказанных списков, это было бы:
body, ul ul {
color:[whatever];
}
ul {
color:blue;
}
Мой CSS немного ржав, но это должно работать:
blockquote {
color: red;
}
blockquote em {
color: inherit;
}
Вы устанавливаете блоки цитирования на красный, но весь <em>'s
, которые содержатся в блоке цитирования, должен наследоваться... хм, они должны наследоваться сопроводительному тексту, или блоку цитирования?
, Если вышеупомянутое не работает, как Вы хотите, затем нет никакого способа сделать это с текущей разметкой, я думаю. Необходимо было бы работать с дополнительной разметкой или выбрать цвет explicitltly, например,
blockquote em {
color: Purple;
}
Хорошо, дополнительный текст с примером разъясняет вопрос много. И я боюсь, что то, что Вы хотите, не возможно.
, Если Вы знаете "неизвестный цвет", можно, конечно, повторить цвет. Но я думаю, что для CSS нужен некоторый механизм для добавления переменных или ссылок.
, Таким образом, необходимо придерживаться громоздкого:
ul {
color: blue;
}
li ul {
color: sameenvironment; /* Sorry but you have to add the specific colour here */
}