<s:textfield>单个字符的标签样式</s:textfield>

时间:2014-06-04 17:11:25

标签: html css jsp struts2 styling

我需要更改此标签中一个字符的颜色,特别是* 这需要针对几个部分进行更改,但不会针对其他部分进行更改。我有这样的内联方式吗?

<td>
  <s:textfield label="* Bank Name" name="..." size="40" />
</td>

2 个答案:

答案 0 :(得分:1)

您应该能够将字符包装在<span>标签中并在CSS中设置颜色。我不熟悉struct标记,但你应该能够应用相同的概念。如果没有,this文章将有助于您使用<label><input>标记来完成您想要的内容。

试试这个:

HTML:

<table>
   <tr>
      <td>
         <label><span class="diff-color">*</span> Bank Name</label>
      </td>
   </tr>
</table>

CSS:

span.diff-color {
    color: red;
}

这将设置所有span元素的颜色,类名为#34; diff-color&#34;变红了。

Example

答案 1 :(得分:0)

默认情况下,Struts2使用主题(默认情况下为XHTML)为元素生成通用的HTML MarkUp。

正如@ AleksandrM的评论所指出的那样,requiredLabel属性会生成一个带有星号的范围,您可以使用CSS设置样式。

一定要自己给id元素,否则Struts会自己生成一个难以处理的独特元素(表单名称_ elementname加上一个数字或类似的东西)。

然后这个

    <s:textfield id = "bankName" 
               name = "bankName"
              label = "Bank Name"
      requiredLabel = "true" />

    <s:textfield id = "bankAddress" 
               name = "bankAddress" 
              label = "Bank Address"
      requiredLabel = "true" />

将生成以下HTML:

    <label for="bankName"><span>*</span>Bank Name</label>
    <input type="text" id="bankName" name="bankName" />

    <label for="bankAddress"><span>*</span>Bank Address</label>
    <input type="text" id="bankAddress" name="bankAddress" />

您可以轻松设置样式:

<style>

    /* all "*" spans */
    label > span {
        color: silver;
    }

    /* differet style for bankName's "*" span */
    label[for=bankName] > span {
        color: red;
    }

    /* differet style for bankAddress's "*" span */
    label[for=bankAddress] > span {
        color: green;
    }

</style>

Running example