html渲染优先级

在前端开发中,优先布局是指在设计和构建页面时,将页面的各个部分按照其重要性和优先级进行排序,并依次进行布局和开发。这种方法可以帮助开发团队在项目初期就确定页面结构的核心部分,从而更好地掌控项目的整体进度和优先级。且确保在网络环境差的情况下,优先渲染重要内容

在CSS中,元素的渲染优先级是由元素的类型和CSS的特定规则 决定的。可以看看我的这篇文章

一般来说,块级元素的渲染优先级高于行内元素,而行内元素的渲染优先级又高于浮动元素和定位元素。

HTML文档流:

HTML文档流是默认的页面元素排列方式,块级元素从上到下依次排列,而行内元素从左到右依次排列。这种排列方式遵循了普通的阅读顺序,即从上到下,从左到右。因此,文档流的渲染优先级相对较高。

浮动流(Floats):

浮动元素的渲染优先级较低。当遇到具有浮动属性的元素时,浏览器会将其从正常的文档流中脱离出来,并按照设定的浮动方向移动。浮动元素后面的文档流会围绕浮动元素重新排列。因此,浮动流的渲染优先级相对较低。

定位流(Positioning):

定位元素的渲染优先级也较低。当遇到具有定位属性的元素时,浏览器会将其从正常的文档流中脱离出来,并按照设定的位置进行放置。定位元素会覆盖文档流中的其他元素,可能会改变它们的排列顺序。因此,定位流的渲染优先级也相对较低。

static 元素默认,不脱离文档流

relative 不脱离文档流

特点

可以用在组件封装场景

当引用者为给组件设置大小时,组件内部使用定位可以根据自身内容大小自行适应展示,保证引用者样式正常按块级元素使用组件.。

css 复制代码
  .luck-layout {
    width: 100%;
    height: 100%;
    position: relative;
  }

  .luck-layout-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
  }

  .luck-list-box {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }

可以用在滚动播报场景

它的定位子元素受父元素管控,不论子元素的定位是什么,哪怕子元素的大小大过它自身,overflow: hidden/auto/scroll,会隐藏掉超出部分。

css 复制代码
    :deep(.trend-music-game-broadcast) {
      width: 404rpx;
      height: 32rpx;
      line-height: 32rpx;
      position: absolute;
      top: 102rpx;
      left: 88rpx;
      overflow: hidden;

      .trend-music-game-broadcast-content {
        position: absolute;
        white-space: nowrap;
        word-break: break-all;
        padding-left: 100%;
        animation: wordsLoop var(--duration) linear 0s infinite;
        color: #FFFFFF;

        .broadcast-color {
          color: #ffd500;
        }
      }
    }

渲染时机和顺序:

  • HTML文档流是默认的排列方式,按照HTML代码的顺序逐个加载和排列元素。
  • 浮动流的元素会脱离文档流,根据设定的浮动方向移动,后面的文档流会重新排列。
  • 定位流的元素会脱离文档流,根据设定的位置放置,可能会覆盖文档流中的其他元素。

需要注意的是,在具体的场景中,元素的渲染优先级可能会受到其他因素的影响,如CSS的选择器、样式表的顺序等。因此,在编写CSS时,需要综合考虑各种因素来确定元素的渲染优先级。

相关推荐
子兮曰4 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰4 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万4 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝4 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
三十而立洋4 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁4 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
汉堡大王95274 天前
Jev:不是聊天机器人, 而是一个智能 if 语句
前端·人工智能·后端
梦想很大很大4 天前
从运行事实到回归证据:Workrun 的 Telemetry 与 Evaluation 实践
前端·人工智能·后端
计算机魔术师4 天前
Meta Muse agent 接入 Shopify 的 Shop Pay 实现代理式购物
前端
沙蒿同学4 天前
我用 Go 搭了一条 AI Agent 流水线:从 1 张商品图到一整套淘宝详情页
前端·javascript·后端