Скины и Stylesheet noob вопрос - PullRequest
       12

Скины и Stylesheet noob вопрос

1 голос
/ 27 августа 2009

У меня есть файл скина, который содержит:

< asp:TextBox runat="server" CssClass="FixedFont"/>

В той же папке, что и файл скина, находится следующий файл css. Файл Css содержит:

.FixedFont
    {
    font-family:Courier;    
    }

Наконец, у меня есть страница ASPX, которая содержит следующий элемент управления:

<asp:TextBox ID="TextBox1" runat="server">Test</asp:TextBox>

Когда я просматриваю страницу ASPX в режиме разработки или запускаю страницу, я вижу, что атрибут font-family в стиле влияет на элемент управления textbox, а именно на Courier.

Однако я также хотел бы определить локальный стиль на моей странице ASPX,

.DefaultWidth
    {
    width: 300px;
    }

... и иметь все мои текстовые поля, чтобы они были одинаковой ширины.

Если установить для свойства CssClass TextBox1 значение "DefaultWidth" ...

<asp:textbox ID="TextBox1" CssClass="DefaultWidth">Hello</asp:TextBox>

... ширина текстового поля изменена на 300px, но я теряю эффект скина, применяя фиксированный стиль шрифта Courier.

Чтобы получить оба применяемых эффекта, DefaultWidth и эффект текстового поля с фиксированным шрифтом, я должен установить для свойства CSSClass значение DefaultWidth FixedFont, что, как мне кажется, сводит на нет преимущество наличия скина в первом место. Полагаю, я ожидал, что эффект будет кумулятивным, если только я не добавил стиль, который конфликтовал со скином, и в этом случае я ожидал, что локальный класс будет применен поверх эффекта скина. Например, если бы я применил второй класс, Class2, который также включал спецификацию семейства шрифтов в дополнение к другим эффектам, я ожидал бы, что шрифт, указанный в Class2, переопределит его в стиле FixedFont. Но, похоже, это не то, что здесь происходит.

Как лучше всего справиться с такой ситуацией? Я воображаю, что очень часто хочу иметь ряд текстовых полей, которые все совпадают по ширине, поэтому я думаю, что я очень часто захочу указать CssClass для элемента управления в дополнение к использованию эффектов, примененных к элементу управления в типе в файле обложки.

Является ли решение НЕ использовать CSS в самой SKIN? Похоже, у него есть и недостатки в обслуживании.

Вторичная проблема, с которой я сталкиваюсь, заключается в том, что если я объявлю таблицу стилей со следующим классом ..

.Button
{
    background-image: url('/images/button.gif')
}

... и установите для свойства CSSClass кнопки ASP значение «Button», я вижу изображение поверх кнопки.

Однако, если я введу следующий код в файл скина

не находит изображение.

Папка с изображениями - это папка первого уровня вне корневого каталога сайта.

Любая идея, почему она не поднимает изображение. Я пробовал другие пути, но это единственный способ, который, кажется, имеет смысл для меня.

Кстати, изображение применяется в режиме конструктора, но исчезает при запуске.

1 Ответ

0 голосов
/ 27 августа 2009

Я не знаю, понял ли я ваш вопрос, но, как я вижу отсюда, что вы должны объявить в своем «местном» стиле:

textbox.fixedfont { width:200px; }

или просто для каждого текстового поля, если вы уверены, что воздействуете на каждое текстовое поле одинаковой ширины, не имеет значения скин ...

textbox { width:200px; }

Если это не то, о чем вы просили, пожалуйста, уточните.

...