Не удается использовать псевдо: css: раньше в классе ASP.NET Custom Web Control - PullRequest
0 голосов
/ 16 января 2012

У меня проблема со стилем моего пользовательского веб-элемента управления. Я пытаюсь создать необычный кнопочный элемент управления для использования в моих будущих проектах.

Я начал с создания некоторого 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, что означает, что он отображается за всем остальным содержимым страницы. Мой плохой

1 Ответ

0 голосов
/ 17 января 2012

Похоже, проблема в z-index.atm это -2 отображается за всем остальным содержанием страницы.Мой плохой

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...