华人澳洲中文论坛

热图推荐

    前端 - CSS 学习整个24种Viewports

    [复制链接]

    2022-8-25 19:40:28 31 0



    CSS 过来只要四个你需求知道的视口单元,它们简直能够涵盖一切能够想象的用例。 但是,跟着时间的推移和技术的变动,这四个视口单元再也不足以处置一切用例。 因为CSS 减少了 20 个视口单元,这听起来得多,但它们被合成为六个次要的视口单元,并带有三个共同的润饰符,总共有 24 种组合。
    次要的4种视口单元
    次要的 CSS 视口单位是 vwVHvminvmax。 您之前可能使用过或看过这些单位,所以我在解释它们时会尽可能冗长。
    VW
    vw 代表 Viewport Width,代表视口宽度的百分比。 搁置在 vw 以前的数字是视口宽度的百分比。 例如,假如您写了 10vw,那末这将代表视口宽度的 10% 的长度。
    视口代表你屏幕的大小,假如你在一个宽度为 1920 像素的大桌面上,10vw 将代表 192 像素。 假如您使用的是宽度为 300px 的手机,那末 10vw 将只要 30px。
    VH
    vh 代表视口高度,与 vw 彻底相反,但它代表高度而不是宽度。 这两个单元能够组合使用,以轻松地使元素填满屏幕的全部大小。


    VMIN 和 VMAX
    vmin 和 vmax 表现最大和最藐视口尺寸。 例如,假如您使用的是 300 像素宽和 800 像素高的手机,则 vmin 将代表视口的宽度,而 vmax 将代表装备的高度。 假如您需求按照屏幕的最小/最大尺寸调剂元素的大小,这些单位十分有用。 例如,上面的 CSS 将创立一个尽量大的正方形,而不会在任何标的目的溢出,由于它永久不会大于最小屏幕尺寸的 100%。


    两个新的视口单位
    CSS 始终在尝试从严格的顶部/底部、左/右、高度/宽度模型转变成更静态的开始/完结、块/内联模型。 此更改的次要缘故是它能够让你更易地采取不同的编写标的目的。 假如您的全部运用顺序从程度书写标的目的切换到垂直书写标的目的,则顶部/底部或宽度/高度的概念纷歧定象征着相反的事件,由于假如您想在文本上方和下方添加填充,这将被表现 作为垂直书写零碎中的摆布填充,而不是填充顶部和底部。 这就是 CSS 添加 vi 和 VB 视口单元的缘故。
    VI
    vi 代表 Viewport inline,代表文档的内联标的目的。 在程度书写标的目的上,这对应于视口的宽度,而在垂直书写标的目的上,这表现视口的高度。 记住 inline 标的目的的简略办法是记住它与文本的标的目的相反。 另外一种记住这一点的办法是,假如您有两个彼此相邻的内联元素(例如两个跨度),那末它们重叠的标的目的就是您的内联标的目的。


    VB
    vb 代表 Viewport Block,代表文档的块标的目的。 这与 vi 相同,因此在程度书写标的目的上,这将对应于视口高度,在垂直文档中,这将表现视口的宽度。 假如你很难记住这个单元,请记住块标的目的一直是块元素(例如两个 div)互相重叠的标的目的。


    视口单位润饰符
    到目前为止,咱们曾经引见了六种次要类型的视口单元,然而当您的视口能够改动大小时,您能够将三种不同的修正器添加到单元中以使它们表示不同。例如,当您在手机上阅读网页时,您可能会留意到向下转动时 URL 栏会隐没。产生这类状况时,您的视口在技术上会更改大小,由于当初 URL 栏再也不占领您的视口的一部份。以后的 CSS 单元无奈处置视口大小的这类变动,这就是添加这些润饰符的缘故。
    这些润饰符是 s、l 和 d。为了使用润饰符,您只需将润饰符放在数字之后和单位以前,例如 10svw。这为 6 个视口单元中的每一个个提供了 4 个总组合。公众、svw、lvw 和 dvw。
    到目前为止,咱们在本文中引见的一切内容都没有使用彻底无效的润饰符。当您在单元上不使用润饰符时,例如 10vw 或 10vh,阅读器将自动默许使用基于阅读器完成的 3 个润饰符之一。
    s润饰符
    s 润饰符代表 Small 并表现可能的最藐视口。 在咱们的手机示例中,这将是显示 URL 栏时视口的大小。 假如您将一个元素设置为 100svh,它将占领屏幕高度的 100%,详细取决于显示 URL 栏时的屏幕大小。 URL 栏是不是可见有关紧要,此单元将一直按照显示 URL 栏时的视口大小来肯定其大小。
    l润饰符
    l 润饰符代表Large,代表最大可能的视口。 这简直与 s 润饰符相同。 在咱们的手机示例中,这将是没有显示 URL 栏时的视口大小。 假如您将元素设置为 100lvh,则当 URL 栏不显示时,它会按照屏幕大小占领屏幕高度的 100%。 URL 栏是不是可见有关紧要,假如 URL 栏未显示,此单元将一直按照视口的大小肯定其大小,这象征着假如您将元素设置为 100lvh 而且 URL 栏显示它在技术上将 比屏幕大。
    d润饰符
    d 润饰符代表静态,代表以后视口大小。 这就像 s 和 l 润饰符的组合。 在咱们的手机示例中,无论 URL 栏是不是显示,这一直是以后视口的大小。 假如咱们的 URL 栏正在显示,则 d 润饰符与 s 润饰符大小相反,而假如 URL 栏未显示 d 润饰符与 l 润饰符大小相反。
    在显示和暗藏 URL 栏之间的过渡期间,此单元将静态缩缩小小,因此它一直会填满一切可用空间。 假如您需求确保元素一直按照视口调剂大小,这很好,但可能会很费劲,由于跟着大小的不停变动,它会致使少量重绘。
    阅读器反对
    关于每一个个很酷的 CSS 功用,您老是需求斟酌阅读器反对,可怜的是,阅读器对这些新视口单元的反对不是很好。 目前,这些新单元的反对率为 15.2%,而且实际上仅在 Safari 和 Firefox 中失掉反对。 不足反对的缘故是该提案仍处于任务草案阶段,这象征着它还处于生命周期的初期阶段,间隔成为民间 CSS 还很远。
    论断
    虽然 24 个单位可能听起来得多,但实际上只要 6 个单位和三个相对于简略的润饰符。 但是,这些简略的组合给了咱们构建完善 CSS 规划的弱小才能。

    发表回复

    您需要登录后才可以回帖 登录 | 立即注册

    返回列表 本版积分规则

    :
    注册会员
    :
    论坛短信
    :
    未填写
    :
    未填写
    :
    未填写

    主题29

    帖子33

    积分161

    图文推荐