Не должно ли свойство GowView RowStyle-HorizontalAlign перезаписывать свойство CSS text-align? - PullRequest
1 голос
/ 19 марта 2010

a) Насколько я знаю, свойство GridView’s RowStyle-HorizontalAlign должно перезаписывать свойство CSS text-align, поэтому текст внутри ячеек GridView должен располагаться с левой стороны ячеек, но вместо этого перемещаться на правую сторону. Почему это так?

b) Точно так же RowStyle-Font-Bold должен перезаписывать свойство CSS font-weight, поэтому шрифты не должны быть выделены жирным шрифтом. Но опять же, свойство CSS перезаписывает свойство RowStyle’s Font-Bold. Зачем?

<div id="someClass">            
      <asp:GridView ID="gvwShowUsers"  runat="server" >
          <RowStyle BackColor="#FFFBD6" ForeColor="#333333" Font-Bold="false" 
               HorizontalAlign="Left" />
          <Columns>
             <asp:BoundField DataField="UserName" HeaderText="UserName"  />
          </Columns>
      </asp:GridView>
</div>

Файл CSS:

#someClass td
{
  font-weight:bolder;
  text-align:right;
}

* 1014 спасибо *


EDIT:

Обходным решением будет применить вместо этого стиль к каждому полю (например, ItemStyle-HorizontalAlign)

Я пытался применить ItemStyle к GridView’s полю:

   <div id="someClass">            
      <asp:GridView ID="gvwShowUsers"  runat="server" >
         <RowStyle Font-Bold="false" HorizontalAlign="Left" />
          <Columns>
             <asp:BoundField DataField="UserName" HeaderText="UserName">
                <ItemStyle HorizontalAlign="Left" Font-Bold="false" />
             </asp:BoundField>
          </Columns>
      </asp:GridView>
   </div>

Но поскольку даже после применения ItemStyle на странице по-прежнему отображался текст с правой стороны ячеек, я решил проверить исходный код HTML-страницы, отправленной пользователю, и, как оказалось, оба <tr> и <td> элементы имеют свойство Align, установленное на left, так что ... полностью сбит с толку!

Вот исходный код HTML-страницы:

<table id="GridView1" style="font-weight:normal;">
   <tr align="center" style=" font-weight:bold;">
       <th scope="col">UserName</th>
   </tr>
       <tr align="right" valign="bottom" style="font-weight:normal;">
       <td align="right" style="font-weight:normal;"> Nancy</td>
   </tr>
</table>

1 Ответ

1 голос
/ 19 марта 2010

Если стиль добавляется к элементу <tr>, стиль в файле CSS победит, потому что селектор #someClass td более специфичен.

Обходным решением будет применить вместо этого стиль к каждому полю (например, ItemStyle-HorizontalAlign).

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