我有一个<s:actionmessage />
,在成功执行某个操作后会显示一条消息。
success.jsp
:
<s:if test="hasActionMessages()">
<div class="messages justify">
<s:actionmessage />
</div>
</s:if>
CSS:
.messages {
background-color: #80FF80;
border: 1px solid #000000;
width: 600px;
color: #000000;
padding: 0;
margin: 0;
}
.messages li {
list-style-type: none;
padding: 0;
margin: 0;
}
.justify {
text-align: justify;
}
输出:
默认情况下,它显示为<s:actionmessage />
,显示<li>
,因此我修改了CSS以删除其默认样式。
但是,即使设置为
,div的左侧仍然存在不均匀的填充
padding: 0; margin: 0;
。
如何使双方均匀?
编辑:(检查元素)
<div class="messages justify">
<ul class="actionMessage">
<li>
<span>
You have successfully changed your password. This is just to make the message long, so it will have to go to the second line of the div.
</span>
</li>
</ul>
</div>
答案 0 :(得分:1)
大部分browsers
为padding
/ ul
提供默认ol
试试这个
.messages .actionMessage{
padding:0;
}
如果没有尝试!important
.messages .actionMessage{
padding:0 !important;
}
答案 1 :(得分:1)
我刚刚将padding-right
添加到其中:
.messages {
background-color: #80FF80;
border: 1px solid #000000;
width: 600px;
color: #000000;
margin-left: auto;
margin-right: auto;
}
.messages li {
list-style: none;
padding-right: 40px;
}
看起来不是很糟糕。
答案 2 :(得分:1)
这是由于浏览器将padding-left
应用于<ul>
元素。
有许多元素具有默认值,并且它们可能在不同浏览器之间有所不同(并且它们确实如此),因此您应该在页面中首先加载CSS重置,这是用于擦除任何浏览器的特殊样式表 - 特定的默认设置,并确保您将编写的CSS规则将在每个浏览器中以相同的方式呈现。
看看这个古老但仍然很好的List of CSS Reset。
顺便说一下,@ VitinoFernandes解决方案是正确的(而另一个不是,因为它将填充应用于<li>
,而不是<ul>
),这是一个运行示例:
.messages {
background-color: #80FF80;
border: 1px solid #000000;
width: 600px;
color: #000000;
padding: 0;
margin: 0;
}
.messages li {
list-style-type: none;
padding: 0;
margin: 0;
}
.justify {
text-align: justify;
}
.nopadding{
padding-left: 0px;
}
&#13;
<div class="messages justify">
<ul class="actionMessage">
<li>
<span>
You have successfully changed your password. This is just to make the message long, so it will have to go to the second line of the div.
</span>
</li>
</ul>
</div>
<div class="messages justify">
<ul class="actionMessage nopadding">
<li>
<span>
You have successfully changed your password. This is just to make the message long, so it will have to go to the second line of the div.
</span>
</li>
</ul>
</div>
&#13;
然后你有一个与显示的HTML不同的HTML,或者你在CSS规则中有一个拼写错误,或者在上面的那个之后加载了其他CSS规则来覆盖设置(但这很奇怪,这是99.9%默认填充,所以...我打赌错误)。
答案 3 :(得分:0)
只需在您的CSS !important
中添加.message li
.message li{
padding: 0px !important;
margin: 0px !important;}