【发布时间】:2014-08-17 01:32:20
【问题描述】:
我需要创建一个简单的日历设计。问题是,我无法更改从 PHP 脚本创建的 HTML 标记。日历被创建为一个无序列表,其中每个 li-标签代表一天。
从左到右依次是 Google Chrome、Mozilla Firefox 和 Internet Explorer:
我希望它们中的每一个看起来都像 Chrome 示例(之后我将删除右侧不必要的边框)。我已经尝试了很多方法来解决这个问题,例如负边距 - 这当然改变了 Chrome 的外观。根据this article 的说法,这是由li-标签之间的空格、制表符和换行符引起的,这只是事实的一半。
我发现,创建脚本返回的列表之间没有任何空格。然而,这只适用于那些日子,而不是标题 - 不要问为什么,我也不知道......请参阅下面的代码以获取示例。
<li class="day first">Mo</li>
<li class="day">Tu</li>
<li class="day">We</li>
<li class="day">Th</li>
<li class="day">Fr</li>
<li class="day">Sa</li>
<li class="day">Su</li><li class="first outofrange"> </li><li class="outofrange"> </li><li class="outofrange"> </li><li class="outofrange"> </li><li class="outofrange"> </li><li class="outofrange"> </li><li class="past">1</li><li class="first past">2</li><li class="past">3</li><li class="past">4</li><li class="past">5</li><li class="past">6</li><li class="past">7</li><li class="past">8</li><li class="first past">9</li><li class="past">10</li><li class="past">11</li><li class="past">12</li><li class="past">13</li><li class="past">14</li><li class="past">15</li><li class="first past">16</li><li class="past">17</li><li class="past">18</li><li class="past">19</li><li class="past">20</li><li class="past">21</li><li class="past">22</li><li class="first past">23</li><li class="past">24</li><li class="past">25</li><li class="today">26</li><li class="future">27</li><li class="future">28</li><li class="future">29</li><li class="first">30</li><li class="outofrange"> </li><li class="outofrange"> </li><li class="outofrange"> </li><li class="outofrange"> </li><li class="outofrange"> </li><li class="outofrange"> </li></ul></div></div>
这是第二个 Firefox 示例,没有日期之间的空格。如您所见,它解决了问题,但由于标题之间仍有空间,它并不完美。它不适用于 Internet Explorer,但无论我是否有空格,它仍然具有每个元素之间的偏移量。
这是我的代码的JSFiddle-Exampe。 记住,我不能更改 HTML 标记!
我希望你能帮助我使它们看起来一致。
【问题讨论】:
-
好吧,你的标题项目之间仍然有空格......你在这里倾斜的是人们(比如我)坚持
<table>的主要原因 - 它可能在语义上不准确,但是该死的它的工作原理! -
尝试将
font-size:0px;添加到calenderio类 -
@Anzeo 一些浏览器有“最小字体大小覆盖”设置。
-
@NiettheDarkAbsol 我完全同意你的看法,我也会为此使用一张桌子。但正如我所说,我无法更改 HTML 标记。
标签: html css cross-browser