HTML07__vertical-align 表格 媒介查询 圆角 border-radius

74 阅读4分钟

一. vertical-align

作用:用来解决行元素或者行级块元素在垂直方向上的对齐方式

基线: 基线的位置是不固定的 默认情况下行元素在当前行的垂直方向上的对齐方式是"基线对齐"

  • 在文本类型的行元素中, 基线是字符x的下切线

  • 在img类型的行元素中, 基线是图片的下边缘位置

  • 在inline-block类型的行元素中, 分两种情况

    • 如果该元素中有其他行元素, 其基线就是最后一行行元素的基线

    • 如果该元素里没有其他元素, 其基线就是该元素margin的底边缘

vertical-align的值:

  • baseline(默认值) 基线对齐

  • top 元素的顶端与当前行的顶端对齐

  • text-top 元素的顶端与当前内容的顶端对齐

  • middle 元素的中心点与当前行的基线再加上1/2字母x高之后的位置对齐

  • bottom 元素的底端与当前行的底端对齐

  • text-bottom 元素的底端与当前内容的底端对齐

  • sub 降低元素的位置到当前行的下标位置对齐

  • super 提高元素的位置到当前行的上标位置对齐

vertical-align能解决的问题:

  • 多个行元素在垂直方向上居中(vertical-align:middle)

  • 图片底部有缝隙的问题

    • vertical-align:middle/top/bottom

    • display:block

    • 将父级的行高设置成0

二. 媒介查询

作用: 通过监听设备的尺寸变化, 触发对应的代码, 达到修改页面布局的目的

语法: @media 要监听的媒介类型 and (监听的阈值) {}

要监听的媒介类型

  • only screen 手机, 平板, 电脑

  • print 打印机

  • speech 读音设备

  • all 所有设备

    监听小于某个临界值, max-width:1000px, 表示当前媒介能监听到的最大值是1000px, 其可监听的范围1000px以内
    

    监听大于某个临界值, min-width:1000px, 表示当前媒介能监听到的最小值是1000px, 其可监听的范围是1000px以上

    // 默认设置body背景色为黄色body { background-color: yellow; } } // 当监听到浏览器宽度大于800px时将其改成蓝色 @media only screen and (min-width: 800px) { body { background-color: blue; } }

注意:所有跟媒介查询有关的代码尽可能的往后写!!

<link rel="stylesheet" type="text/css" href="media.css" media="screen and (max-width: 800px)"/>

三. 表格

一个完整的表格最外层是table标签, 里面由thead, tbody, tfoot组成, thead, tbody, tfoot不是必须都要写, 一个表格最重要的部分是tbody, tbody里书写表格的内容, 该标签可以不人为书写, 如果table检测到其内部没有书写tbody, 它会自动生成一个.

table的常用属性:

  • border 表格的边框

  • cellspacing 单元格之间的距离

  • cellpadding 单元格自身内容与边框之间的距离

注意: 以上属性产生的效果都可以通过 css样式 等效实现, 建议尽可能用table的属性, 实在不行再用css样式

每一列单元格的宽度永远会保持一致, 以内容最多的单元格为标准 单元格可以通过th和td实现, 两者的区别是:th会自动居中, 且文字默认加粗

合并单元格, 需要以下两个属性, 该属性是th和td的

  • colspan 列合并 是将不同列上的单元格合并, 效果为横向合并

  • rowspan 行合并 是将不同行上的单元格合并, 效果为纵向合并

四. 圆角 border-radius

单独设置某一个角的圆角值: border-方位词-radius

  • 填一个值表示这个角的水平和数值 值相同

  • 填两个值: 第一个值表示水平方向的值, 第二个值表示竖直方向的值

合写

  • 一个值: 设置四个角且每个角的水平和竖直值相同

  • 二个值: 第一个值表示左上角和右下角, 第二个值表示右上角和左下角, 且每个角的水平和竖直值相同

  • 三个值: 第一个值表示左上角, 第二个值表示右上角和左下角, 第三个值表示右下角, 且每个角的水平和竖直值相同

  • 四个值: 从左上角开始, 顺时针依次设置, 且每个角的水平和竖直值相等

如果想要将每个角的水平和竖直的值设置不同, 需要在设置圆角值时, 将水平的写在一起, 竖直的写在一起, 中间用/隔开

border-radius: 10px 15px 20px / 20px 30px 40px;