Есть ли синтаксический анализатор. Net, который позволит мне разобрать css shorthand properties в их форму?Как я могу расширить CSS стенографические свойства программным путем?
Например, я хотел бы взять на себя следующее:
#somediv{
margin: 10px;
padding: 10px 20px;
border:5px solid #FFF;
}
И перевести его на:
#somediv{
margin-top: 10px;
margin-right: 10px;
margin-bottom: 10px;
margin-left: 10px;
padding-top: 10px;
padding-right: 20px;
padding-bottom: 10px;
padding-left: 20px;
border-width: 5px;
border-style: solid;
border-color: #FFF;
}
Вот очень хороший список всех различных свойств я бы нужно таким образом: http://www.dustindiaz.com/css-shorthand/
В идеале я хотел бы что-то в .Net, но если есть что-то на другом языке с открытым исходным кодом, я, вероятно, смогу его адаптировать.
Update
Не вдаваясь в излишние подробности, как именно то, что я пытаюсь сделать здесь является основной предпосылкой:
мне нужно взять несколько programmaticly документы CSS и объединить их, чтобы создать один окончательный набор CSS.
Так что, если документ 1 имеет:
p { padding: 10px;}
А потом добавить в документ 2:
p { padding-left:20px;}
В результате CSS должно быть:
p { padding-top: 10px; padding-right:10px; padding-bottom:10px; padding-left:20px;}
Поскольку позже добавил документ перезаписывает одно свойство. Чтобы сделать это точно, мне нужно было бы взять каждый CSS и сначала разбивать каждое свойство на его самый низкий элемент.
возможно дубликат [Есть CSS парсер для C#?] (Http://stackoverflow.com/questions/512720/is- там-a-css-parser-for-c) –
да и нет, синтаксические анализаторы, предоставленные там, не делают такого расширения, и действительно, это единственная часть, которая мне нужна – brendan
, поэтому, если у вас есть 2 документа, это происходит автоматически , Я до сих пор не понимаю, зачем вам нужен этот синтаксический анализатор. вы просто пытаетесь ударить все ваши файлы CSS в 1 окончательный файл? для сжатия или что-то еще? – Stefanvds