zoukankan      html  css  js  c++  java
  • CSS篇--Table解惑

    1. table的border-collapse设置

    border-collapse的默认值是separate,相邻单元格有独立的边框(参见图1-1),设置为collapse之后,相邻单元格共享边框(参见图1-2)

    1.1 第一幅图中的间隙是border-spacing,每个浏览器都有默认值,Chrome浏览器默认设置为2px(参见图1-3),这就是所有网站都会加载一个reset.css,初始化html标签样式的原因,让html标签在各个浏览器下初始状态表现一致。

    1.2 只有当border-collapse是separate时,border-spacing才生效(参见图1-3和1-4对比)

                            图1-1                                                                         图1-2

                                                                                                                                     图1-3

                                    图1-4

    2. table的width,height设置

     2.1 table设置的width,height,相当于min-width,min-height,实际展示的width,height 为 max(内容值,设置值)

     2.2 table虽然是block元素,可是默认宽度不是100%,而是各列宽度之和

    3. table的tr宽高设置

    3.1 tr的width属性不生效

     3.2  tr设置的height相当于min-height

    3.3 table的height ≤ 各个tr高度时,table的高度会被撑开

      3.4 table的height大于各个tr设置高度之和时,每个tr会按照初始高度比例放大

     

     3.5 table的height大于各个tr设置高度之和时,有的tr设置了height值,有的没设置,设置的会先按照设置的tr高度来,如果设置的tr高度不够,会按内容实际高度展示,这一点也呼应了3.2的规则。 剩余高度分配给未设置height的tr,按内容高度比例分配。

    4. table的td宽高设置

    4.1 td的width,height设置相当于min-width,min-height设置

     4.2 当给table设置了table-layout:fixed属性时,table的width 大于各列td的宽度之和时,设置了width的td宽度不会扩张

     td未设置width的另外两列,均分剩余的宽度

     剩余宽度不足时,未设置宽度的td,也是均分table剩下的宽度,内容过长的列,内容会溢出,会撑破table容器

     

     

     4.3 要解决内容溢出的问题,可以给td加上word-break:break-all属性,顺便说说word-wrap和word-break的区别

    word-wrap:break-word决定对超长的单词是否断行 会先尝试换行,如果还是溢出,会对单词断行。

    word-break决定断词的方式:

    •  break-all 可在任意字符间断行 最节省空间
    •  break-word  当前行不能容纳单词到行尾,则重新另起一行显示。显示不下才断行
    •  keep-all 对中日韩文不断词

    对于超长内容显示省略号,也能解决内容溢出的问题,下面分别是单行和多行的设置方法:

    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;

    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    text-overflow:ellipsis;

  • 相关阅读:
    React PC端悬浮锚点吸顶导航
    LESS 移动端一像素1px线条CSS解决方案
    React Swiper轮播图
    Win10 虚拟机安装mac系统
    ReactNative Windows环境初始化项目
    Win10 安装AndroidStudio
    Win10 环境安装JDK
    【mysql基础学习篇】mysql服务器架构简介
    uniapp封装小程序雷达图组件实现
    这12道Spring面试题要是还不会的话?就白干了!
  • 原文地址:https://www.cnblogs.com/wangpenghui522/p/14586306.html
Copyright © 2011-2022 走看看