zoukankan      html  css  js  c++  java
  • 日历控件table布局

      作为初学者,一开始就接触div+css ,所以说实话,我并不怎么喜欢table布局,一般逃避。

    先上这次的效果图:

    看到这个图,第一次用table布局没实现,原因是给tr加下边框失效。当时没找到原因,以前没用过table布局。

    今天重新翻出来用table布局实现

    dom结构是:div>table>caption+tr>td>a

    其实这个布局本身没有什么难度,只是想说一下遇到的坑。

    首先 对table设置 border=“0”,cellpadding="0"  cellspacing="0"

    清除掉这些默认样式,我以为直接对tr加个底边框一切就搞定了,好吧,试了半天还是不行。

    对table 加属性 rules = ”none“  tr的底边框奇迹般的生效了。

    rules的属性

    none 没有线条。
    groups 位于行组和列组之间的线条。
    rows 位于行之间的线条。
    cols 位于列之间的线条。
    all 位于行和列之间的线条。

    但是最后一行的底边框没有出现,测试发现是table本身的底边框盖住了tr的,所以我直接给table加个底边框实现了。

    测试:

    ie6,7,FF不支持,chrome和ie8以上支持。

    FF都不支持,心中一万头草泥马奔腾。

    没办法 只能继续找bug了。终于找到为什么tr不能直接设置边框了

    解释是:因为表格中的tr并非单一的边框,这样便需要属性border-collapse,border-collapse 属性设置表格的边框是否被合并为一个单一的边框,还是像在标准的 HTML 中那样分开显示。 

    属性:

    separate 默认值。边框会被分开。不会忽略border-spacing 和 empty-cells 属性。 
    collapse 如果可能,边框会合并为一个单一的边框。会忽略 border-spacing 和 empty-cells 属性。 
    inherit 规定应该从父元素继承border-collapse 属性的值。

    我觉得这个讲的很有道理的样子,立马加上。FF下正常了。把rules属性删掉,也是正常的。

    说明确实是取决于这个属性。

    ie6,7下解决方法:

    试试给td加底边框,好吧,果然有效了。事情终于解决了。

  • 相关阅读:
    ASP.NET MVC 3 (Intro to ASP.NET MVC 3) (1/9)
    ASP.NET MVC 3 (Implementing Edit, Details, and Delete Views) (9/9)
    遍历Request.ServerVariables
    类似QQ邮箱中‘HTML方式查看’功能查看Office文件
    ASP.NET MVC 3 (Accessing your Model's Data from a Controller) (5/9)
    无法解析或打开软件包的列表或是状态文件
    初始化二维指针
    Linux练习(产生临时文件)
    [zz]c++可变参数函数使用
    git使用方法
  • 原文地址:https://www.cnblogs.com/Aralic/p/4435678.html
Copyright © 2011-2022 走看看