К сожалению, нет «предыдущего» селектора, но вы можете , возможно, получить тот же эффект, используя позиционирование (например, float right). Это зависит от того, что вы пытаетесь сделать.
В моем случае я хотел получить первую 5-звездочную рейтинговую систему CSS. Мне нужно было бы покрасить (или поменять значок) предыдущих звезд. Если плавать каждый элемент вправо, я по сути получаю тот же эффект (html для звезд, таким образом, должен быть записан «назад»).
Я использую FontAwesome в этом примере и заменяю между юникодами fa -star-o и fa-star http://fortawesome.github.io/Font-Awesome/
CSS:
.fa {
display: inline-block;
font-family: FontAwesome;
font-style: normal;
font-weight: normal;
line-height: 1;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* set all stars to 'empty star' */
.stars-container {
display: inline-block;
}
/* set all stars to 'empty star' */
.stars-container .star {
float: right;
display: inline-block;
padding: 2px;
color: orange;
cursor: pointer;
}
.stars-container .star:before {
content: "\f006"; /* fontAwesome empty star code */
}
/* set hovered star to 'filled star' */
.star:hover:before{
content: "\f005"; /* fontAwesome filled star code */
}
/* set all stars after hovered to'filled star'
** it will appear that it selects all after due to positioning */
.star:hover ~ .star:before {
content: "\f005"; /* fontAwesome filled star code */
}
HTML: (40)
, если Вы ожидаете, что люди будут создавать/читать документ (конфигурационные файлы, отчеты, и т.д.) затем, можно рассмотреть YAML, иначе выбрать XML (для коммуникации от машины к машине).
И XML и YAML являются приблизительно тем же. Хорошие библиотеки XML могут пропустить все пробелы, в то время как для YAML это требуется. Сложный YAML содержит много пробелов добавления отступа (не используйте вкладки!)
Часть документа YAML часто является действительным документом, поэтому если документ YAML является неполным нет никакого автоматического способа обнаружить его. Синтаксический анализатор XML будет всегда проверять, правильно построен ли документ, по крайней мере, и может проверить законность по схеме автоматически.
Много главных языков программирования поддерживают и YAML и XML.
Вы не должны объяснять разработчику (даже юниор), что такое XML. YAML не то, который широко использовал все же.
С XML и производитель и потребитель могут договориться о Схеме для установления надежного формата обмена данными.
XML очень богат: пространства имен, объекты, атрибуты.
Java и Python имеют поддержку XML в стандартных библиотеках. YAML требует внешней зависимости для этих языков.
спецификация XML является более старой, и это - горное тело; тогда как, YAML все еще находится в работе. YAML 1.1 содержит несоответствия (существует даже wiki для ведения списка ошибок).
, Если необходимо преобразовать XML-документ к другому формату (XML, HTML, YAML, PDF) можно использовать XSLT, в то время как для YAML необходимо записать программу.
Я соглашаюсь: YAML более читаем, и походит на подходящий вариант для, скажем, dev-read/writable конфигурационные файлы. Но существует мало преимущества для коммуникации от машины к машине. Кроме того, для текстовой разметки (традиционная сильная сторона xml, как xhtml, DocBook), xml лучше.
Специально для сериализации объекта я не могу думать о серьезном основании использовать YAML.
На самом деле, я предложил бы рассмотреть JSON вместо этого: это основано на объекте (или, структура, так как нет никакого поведения), модель, а не иерархический (xml) или реляционные модели (SQL). Из-за этого это - бит, более естественный подходящий для данных объектов. Но XML работает просто великолепно также, и существует много хороших инструментов.
Последняя вещь: "долгосрочная" и "сериализация объекта" условий не смешивается. Последний подразумевает сильную связь: Ваше изменение объектов, сериализация - также. Сериализация фактического объекта не должна использоваться для того, чтобы хранить данные, привязка данных / отображение является более соответствующей. Но может случиться так использованием сериализации в смысле "хранения/восстановления данных с помощью удобных объектных оберток"; если так, это прекрасно.
При использовании YAML у Вас могло бы быть немного меньше байты, идущие через провод. Недостаточно, чтобы быть значительным я думаю, но в некоторых ситуациях это могло быть релевантно. Я также думаю, что YAML легче считать и работать с в текстовом редакторе, но это действительно довольно субъективно, и действительно не имело бы значения, если это не нормальный сценарий использования.
, Если пропускная способность не является фактором и Вами привычка работать с YAML/XML в текстовом редакторе часто, я думаю, что это действительно не имеет значения, который Вы используете.