У меня проблема со стилем моего пользовательского веб-элемента управления.
Я пытаюсь создать необычный кнопочный элемент управления для использования в моих будущих проектах.
Я начал с создания некоторого HTML-файла, в котором у меня есть следующий HTML.
<a class="button">Home</a>
и css:
.button:before{
...
}
Этот файл отлично работает, css используется правильно, и благодаря: перед псевдо в моем css файле у меня есть приятная дополнительная рамка вокруг моей кнопки.
Теперь, когда я был уверен, что стиль работает, я хотел создать веб-элемент управления в ASP.Net
Итак, я создал один, вот пример кода.
protected override void RenderContents(HtmlTextWriter output)
{
output.AddAttribute(HtmlTextWriterAttribute.Id, this.ID);
output.AddAttribute(HtmlTextWriterAttribute.Class, String.IsNullOrEmpty(this.CssClass) ? "button" : this.CssClass);
if (this.Style.Count>0)
output.AddAttribute(HtmlTextWriterAttribute.Style, this.Style.ToString());
if(this.Width != default(Unit))
output.AddAttribute(HtmlTextWriterAttribute.Width, this.Width.ToString());
if (this.Height != default(Unit))
output.AddAttribute(HtmlTextWriterAttribute.Height, this.Height.ToString());
output.RenderBeginTag("a");
if (!String.IsNullOrEmpty(ImageSrc))
{
output.AddAttribute(HtmlTextWriterAttribute.Style, String.Format("background: url('{0}') no-repeat {1}px {2}px;",ImageSrc,ImageXPos, ImageYPos));
output.RenderBeginTag("div");
output.RenderEndTag();
}
output.Write(Text);
output.RenderEndTag();
}
Сгенерированный html такой же, как в моем тестовом файле. но по какой-то причине: before css не применяется. Кто-нибудь может помочь мне решить эту проблему?
Мой тестовый файл представлял собой чистый HTML, но когда я помещал чистый HTML-код на свой сайт asp.net, он также не применял стиль: before
Это небольшой пример Fiddle, где вы не видите ошибку, потому что это не ASP.net
пример
РЕШИТЬ:
Похоже, проблема в z-index.
atm это -2, что означает, что он отображается за всем остальным содержимым страницы.
Мой плохой