CSS @Font面部规则不适用于文本框

时间:2014-06-28 12:26:52

标签: css asp.net fonts

我正在创建一个asp.net网站,我在其中使用css将字体设置为controls。这是CSS:

body {
}

@font-face
{
   font-family: MyFont;
   src: url("Shiv05.eot");
}
@font-face
{
   font-family: MyFont;
   src: url("Shiv05.ttf") ;
}
@font-face
{
   font-family: MyFont;
   src: url("Shiv05.woff") ;
}
    .Title
   {
       font-family: MyFont, Arial;
       font-weight: bold;
       font-size: 16px;
       color: #0094ff;
    }
    .Text
    {
       font-family: MyFont, Arial;
       font-size: 18px;
       color:Lime;
    } 

这就是我在我的源代码中使用它的方式:

div class="Text">       
                <asp:TextBox ID="txtQuestion" runat="server" 
Height="101px"  TextMode="MultiLine"
                    Width="627px"  meta:resourcekey="txtQuestionResource1" 
                    ontextchanged="txtQuestion_TextChanged" Font-Names="Shivaji05"
                    EnableTheming="False"></asp:TextBox>          

                <asp:Label ID="lblQuestionText" runat="server" 
 Text="Type Your Question   Here" 
                Font-Bold="True" EnableTheming="False" Font-Names="Shivaji05">    </asp:Label>                   
                 </div>

字体应用于标签但不应用于文本框,错误在哪里以及如何更正呢?

1 个答案:

答案 0 :(得分:2)

这里重要的是ASP代码生成的HTML元素。对于TextMode="MultiLine",它是textarea元素,因此您需要设置样式,例如:

.Text textarea
{
   font-family: MyFont, Arial;
}

设置.Text的字体不会影响textarea,因为textarea元素具有与浏览器相关的默认字体;就CSS而言,这意味着至少在概念上,有一个浏览器样式表在font-family上设置textarea。因此,textarea元素不会从其父级继承字体。