前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >关于float元素浮动后高度变化导致排列错位的问题

关于float元素浮动后高度变化导致排列错位的问题

原创
作者头像
喵喵侠
修改于 2024-11-26 01:24:20
修改于 2024-11-26 01:24:20
2000
举报
文章被收录于专栏:喵喵学前端喵喵学前端

目录

好文推荐:https://cloud.tencent.com/developer/article/2470497 这篇文章主要介绍了工作流的概念及在 Python 中的实现方法,包括虚拟环境搭建、VSCode 配置、基础工作流示例、多个事件的处理以及工作流可视化分析等内容。同时,作者还推荐了一篇关于构建加载状态与流畅交互的精妙艺术的文章,并在结尾介绍了自己的技术背景和对技术交流分享的热情。

前言

你好,我是喵喵侠。在现代Web布局中,flex和grid布局用到的会比较多,但我们仍然会遇到一些老旧项目,里面的前端UI框架,采用的还是float布局。在这种情况下,如果你对float布局不了解,就会在开发的过程中踩到坑。下面我来为你讲解,float元素高度变化后,是如何影响相邻元素的,以及如何解决这样的问题。

问题描述

首先假设有一个容器盒子,宽度是300px,高度是300px,它里面有9个div子元素,元素的宽高都是100px,都是float:left左浮动。

正常效果

根据这样的描述,我写了一个正常效果的demo如下:

代码语言:html
AI代码解释
复制
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>浮动布局示例</title>
<style>
  .container {
    width: 300px;
    height: 300px;
    border: 1px solid #ccc;
    position: relative;
  }
  .box {
    width: 100px;
    height: 100px;
    float: left;
    text-align: center;
    line-height: 100px;
  }
  .box1 { background-color: #ff9999; }
  .box2 { background-color: #ffcc99; }
  .box3 { background-color: #ffff99; }
  .box4 { background-color: #ccff99; }
  .box5 { background-color: #99ffcc; }
  .box6 { background-color: #99ccff; }
  .box7 { background-color: #cc99ff; }
  .box8 { background-color: #ff99cc; }
  .box9 { background-color: #cccccc; }
</style>
</head>
<body>

<div class="container">
  <div class="box box1">1</div>
  <div class="box box2">2</div>
  <div class="box box3">3</div>
  <div class="box box4">4</div>
  <div class="box box5">5</div
  <div class="box box6">6</div>
  <div class="box box7">7</div>
  <div class="box box8">8</div>
  <div class="box box9">9</div>
</div>

</body>
</html>

正常效果如下:

问题效果

如果我把其中一个子元素,比方说子元素1的高度,修改为150px。此时你会发现,原本的子元素4跑到了原本5的位置,5跑到了原本6的位置,以此类推。

问题代码如下:

代码语言:html
AI代码解释
复制
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>浮动布局示例</title>
<style>
  .container {
    width: 300px;
    height: 300px;
    border: 1px solid #ccc;
    position: relative;
  }
  .box {
    width: 100px;
    height: 100px;
    float: left;
    text-align: center;
    line-height: 100px;
  }
  .box1 { height:150px;background-color: #ff9999; }
  .box2 { background-color: #ffcc99; }
  .box3 { background-color: #ffff99; }
  .box4 { background-color: #ccff99; }
  .box5 { background-color: #99ffcc; }
  .box6 { background-color: #99ccff; }
  .box7 { background-color: #cc99ff; }
  .box8 { background-color: #ff99cc; }
  .box9 { background-color: #cccccc; }
</style>
</head>
<body>

<div class="container">
  <div class="box box1">1</div>
  <div class="box box2">2</div>
  <div class="box box3">3</div>
  <div class="box box4">4</div>
  <div class="box box5">5</div>
  <div class="box box6">6</div>
  <div class="box box7">7</div>
  <div class="box box8">8</div>
  <div class="box box9">9</div>
</div>

</body>
</html>

问题效果如下:

解决方案

这个是float浮动布局导致的,如果不用这个布局就不会有这个问题,我们要做的是,清楚浮动给子元素带来的影响。

我这里有个通俗的理解,所有的元素是左浮动,那么每个元素都会尽可能地去贴上一个元素的右边。比方说2会去贴1,3会去贴2。由于1的高度变化了,比2和3要长,那么4正好是可以贴上去的,所以4会贴1,然后原本4的位置被1占用了,4就只能靠右占5的位置,5就占6,以此类推。

要想解决这个问题,那就是强行让4不要去贴1的边。

所以最终的解决方案是,给受到影响的换行子元素,加上clear:left即可。

示例代码如下:

代码语言:html
AI代码解释
复制
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>浮动布局示例</title>
<style>
  .container {
    width: 300px;
    height: 300px;
    border: 1px solid #ccc;
    position: relative;
  }
  .box {
    width: 100px;
    height: 100px;
    float: left;
    text-align: center;
    line-height: 100px;
  }
  .box1 { height:150px;background-color: #ff9999; }
  .box2 { background-color: #ffcc99; }
  .box3 { background-color: #ffff99; }
  .box4 { background-color: #ccff99; }
  .box5 { background-color: #99ffcc; }
  .box6 { background-color: #99ccff; }
  .box7 { background-color: #cc99ff; }
  .box8 { background-color: #ff99cc; }
  .box9 { background-color: #cccccc; }
  .box:nth-child(3n+1){
    clear: left
  }
</style>
</head>
<body>

<div class="container">
  <div class="box box1">1</div>
  <div class="box box2">2</div>
  <div class="box box3">3</div>
  <div class="box box4">4</div>
  <div class="box box5">5</div>
  <div class="box box6">6</div>
  <div class="box box7">7</div>
  <div class="box box8">8</div>
  <div class="box box9">9</div>
</div>

</body>
</html>

效果如下:

关键是要给3n+1个子元素加上清除左浮动,防止后续其他元素高度变化后,出现类似的问题。

实际案例

我开发的项目中,用到了ant-design-vue 1.7.8这个前端UI框架,里面的formModel表单,表单项用到的就是float布局。

这里有个示例代码,可以复现这个问题。

代码语言:html
AI代码解释
复制
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Ant Design Vue 表单示例</title>
<!-- 引入 Vue 和 Ant Design Vue 1.7.8 的 CDN -->
<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.14/vue.min.js"></script>
<link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/ant-design-vue/1.7.8/antd.min.css">
<script src="https://cdn.bootcdn.net/ajax/libs/ant-design-vue/1.7.8/antd.min.js"></script>
</head>
<body>
<div id="app">
  <a-form-model
    ref="formModel"
    :model="form"
    :rules="rules"
    layout="inline"
  >
    <a-row :gutter="24">
      <!-- 多选 Select -->
      <a-col :span="12">
        <a-form-model-item label="兴趣爱好" name="hobbies">
          <a-select
            v-model="form.hobbies"
            mode="multiple"
            placeholder="请选择你的兴趣爱好"
            allow-clear
            style="width:340px"
          >
            <a-select-option v-for="item in options" :key="item.value" :value="item.value">
              {{ item.label }}
            </a-select-option>
          </a-select>
        </a-form-model-item>
      </a-col>

      <!-- 输入框 -->
      <a-col :span="12">
        <a-form-model-item label="姓名" name="name">
          <a-input v-model="form.name" placeholder="请输入姓名"></a-input>
        </a-form-model-item>
      </a-col>

      <!-- 数字输入框 -->
      <a-col :span="12">
        <a-form-model-item label="年龄" name="age">
          <a-input-number v-model="form.age" placeholder="请输入年龄" style="width: 100%;"></a-input-number>
        </a-form-model-item>
      </a-col>

      <!-- 单选框组 -->
      <a-col :span="12">
        <a-form-model-item label="性别" name="gender">
          <a-radio-group v-model="form.gender">
            <a-radio value="male"></a-radio>
            <a-radio value="female"></a-radio>
          </a-radio-group>
        </a-form-model-item>
      </a-col>

      <!-- 日期选择器 -->
      <a-col :span="12">
        <a-form-model-item label="生日" name="birthday">
          <a-input v-model="form.birthday" placeholder="选择日期"></a-input>
        </a-form-model-item>
      </a-col>

      <!-- 开关 -->
      <a-col :span="12">
        <a-form-model-item label="是否订阅" name="subscribe">
          <a-switch v-model="form.subscribe"></a-switch>
        </a-form-model-item>
      </a-col>

      <!-- 滑块 -->
      <a-col :span="12">
        <a-form-model-item label="满意度" name="satisfaction">
          <a-slider v-model="form.satisfaction"></a-slider>
        </a-form-model-item>
      </a-col>
      
      <!-- 滑块 -->
      <a-col :span="12">
        <a-form-model-item label="满意度" name="satisfaction">
          <a-slider v-model="form.satisfaction"></a-slider>
        </a-form-model-item>
      </a-col>

      <!-- 提交与重置按钮 -->
      <a-col :span="24">
        <a-form-model-item>
          <a-button type="primary" @click="handleSubmit">提交</a-button>
          <a-button style="margin-left: 10px;" @click="handleReset">重置</a-button>
        </a-form-model-item>
      </a-col>
    </a-row>
  </a-form-model>
</div>

<script>
  new Vue({
    el: '#app',
    data() {
      return {
        form: {
          hobbies: [],
          name: '',
          age: null,
          gender: '',
          birthday: null,
          subscribe: false,
          satisfaction: 0,
        },
        rules: {
          hobbies: [{ required: true, message: '请选择至少一个兴趣爱好', type: 'array' }],
          name: [{ required: true, message: '请输入姓名' }],
          age: [{ type: 'number', required: true, message: '请输入年龄' }],
          gender: [{ required: true, message: '请选择性别' }],
          birthday: [{ required: true, message: '请选择生日' }],
        },
        options: Array.from({ length: 20 }, (_, index) => ({
          value: `option-${index + 1}`,
          label: `选项 ${index + 1}`,
        })),
      };
    },
    methods: {
      handleSubmit() {
        this.$message.success('表单提交成功:' + JSON.stringify(this.form));
      },
      handleReset() {
        this.$refs.formModel.resetFields();
        this.$message.info('表单已重置');
      },
    },
  });
</script>
</body>
</html>

效果如下:

咋一看没问题,但只要你在select中多选,选择足够多,多到足以改变高度,问题就出现了。第三个表单项被挤压到了原本第四个元素的位置。

解决办法跟上面一样,设置一个选择器清除左浮动即可。

代码语言:html
AI代码解释
复制
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Ant Design Vue 表单示例</title>
<!-- 引入 Vue 和 Ant Design Vue 1.7.8 的 CDN -->
<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.14/vue.min.js"></script>
<link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/ant-design-vue/1.7.8/antd.min.css">
<script src="https://cdn.bootcdn.net/ajax/libs/ant-design-vue/1.7.8/antd.min.js"></script>
<style>
  .ant-row.form-row .ant-col-12:nth-child(3n){
    clear: left;
  }
</style>
</head>
<body>
<div id="app">
  <a-form-model
    ref="formModel"
    :model="form"
    :rules="rules"
    layout="inline"
  >
    <a-row :gutter="24" class="form-row">
      <!-- 多选 Select -->
      <a-col :span="12">
        <a-form-model-item label="兴趣爱好" name="hobbies">
          <a-select
            v-model="form.hobbies"
            mode="multiple"
            placeholder="请选择你的兴趣爱好"
            allow-clear
            style="width:340px"
          >
            <a-select-option v-for="item in options" :key="item.value" :value="item.value">
              {{ item.label }}
            </a-select-option>
          </a-select>
        </a-form-model-item>
      </a-col>

      <!-- 输入框 -->
      <a-col :span="12">
        <a-form-model-item label="姓名" name="name">
          <a-input v-model="form.name" placeholder="请输入姓名"></a-input>
        </a-form-model-item>
      </a-col>

      <!-- 数字输入框 -->
      <a-col :span="12">
        <a-form-model-item label="年龄" name="age">
          <a-input-number v-model="form.age" placeholder="请输入年龄" style="width: 100%;"></a-input-number>
        </a-form-model-item>
      </a-col>

      <!-- 单选框组 -->
      <a-col :span="12">
        <a-form-model-item label="性别" name="gender">
          <a-radio-group v-model="form.gender">
            <a-radio value="male"></a-radio>
            <a-radio value="female"></a-radio>
          </a-radio-group>
        </a-form-model-item>
      </a-col>

      <!-- 日期选择器 -->
      <a-col :span="12">
        <a-form-model-item label="生日" name="birthday">
          <a-input v-model="form.birthday" placeholder="选择日期"></a-input>
        </a-form-model-item>
      </a-col>

      <!-- 开关 -->
      <a-col :span="12">
        <a-form-model-item label="是否订阅" name="subscribe">
          <a-switch v-model="form.subscribe"></a-switch>
        </a-form-model-item>
      </a-col>

      <!-- 滑块 -->
      <a-col :span="12">
        <a-form-model-item label="满意度" name="satisfaction">
          <a-slider v-model="form.satisfaction"></a-slider>
        </a-form-model-item>
      </a-col>
      
      <!-- 滑块 -->
      <a-col :span="12">
        <a-form-model-item label="满意度" name="satisfaction">
          <a-slider v-model="form.satisfaction"></a-slider>
        </a-form-model-item>
      </a-col>

      <!-- 提交与重置按钮 -->
      <a-col :span="24">
        <a-form-model-item>
          <a-button type="primary" @click="handleSubmit">提交</a-button>
          <a-button style="margin-left: 10px;" @click="handleReset">重置</a-button>
        </a-form-model-item>
      </a-col>
    </a-row>
  </a-form-model>
</div>

<script>
  new Vue({
    el: '#app',
    data() {
      return {
        form: {
          hobbies: [],
          name: '',
          age: null,
          gender: '',
          birthday: null,
          subscribe: false,
          satisfaction: 0,
        },
        rules: {
          hobbies: [{ required: true, message: '请选择至少一个兴趣爱好', type: 'array' }],
          name: [{ required: true, message: '请输入姓名' }],
          age: [{ type: 'number', required: true, message: '请输入年龄' }],
          gender: [{ required: true, message: '请选择性别' }],
          birthday: [{ required: true, message: '请选择生日' }],
        },
        options: Array.from({ length: 20 }, (_, index) => ({
          value: `option-${index + 1}`,
          label: `选项 ${index + 1}`,
        })),
      };
    },
    methods: {
      handleSubmit() {
        this.$message.success('表单提交成功:' + JSON.stringify(this.form));
      },
      handleReset() {
        this.$refs.formModel.resetFields();
        this.$message.info('表单已重置');
      },
    },
  });
</script>
</body>
</html>

这样就改好了!

总结

这类问题的解决办法,最好是从源头解决。我曾经尝试过换布局,但这样改动量会比较大,不是很合适。关于float清除浮动的实际含义,可以看看张鑫旭大佬的文章,我放到参考链接里面了。

参考

CSS篇—— 如何解决 float 元素浮动后高度不一致导致错位的问题 · Issue #340 · iuap-design/blog

准确理解CSS clear:left/right的含义及实际用途 « 张鑫旭-鑫空间-鑫生活

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
SaaS增长的第二曲线:寻找中国的Slack和Zoom
本文作者 Patrick:腾讯SaaS加速器导师、硅谷蓝图创始人。 最近大家都在聊怎么找到中国的Slack和Zoom。 Slack和Zoom的成功是商业化的成功。这个毋庸置疑。 毕竟,这类企业商业模式的增长速度,毛利率,持续增长能力,上市前烧很少钱(相对2C)的投资高效率,大家有目共睹。 今天这篇文章旨在寻找他们商业化里面一些隐藏的共性,是我对如何寻找中国Slack和Zoom类企业的一种判断,同时也是对希望长成那个样子的中国企业商业化路径的一个建议和指引。 商业化体系的开放设计 我们做规模化增长设
腾讯SaaS加速器
2020/06/09
7520
企服杂谈:中国企服SaaS根本就不需要KA
结果没想到,清一色几乎都在裁撤KA团队。而且一聊开,发现各自赛道内也有不少公司陆陆续续都在砍KA。
谢强byron
2024/10/13
920
企服杂谈:中国企服SaaS根本就不需要KA
SaaS企业中的收入留存率意味着什么?
来源:美股研究社 作者:陈恩婷 ---- 腾讯SaaS加速器 二期30席项目招募 报名方式 腾讯SaaS加速器,作为腾讯产业加速器的一个重要组成部分,旨在搭建腾讯与SaaS相关企业的桥梁,通过资本、技术、资源、商机等层面的扶持,从战略到场景落地全方位加速企业成长,助力产业转型升级。 二期招募正式开始,扫描 二维码 立刻报名 (或点击文末  “阅读原文”,直达报名入口) 详情介绍:寻找SaaS“潜力军”,腾讯SaaS加速器二期开启招募 SaaS企业的商业模式类似我们日常生活中的收租模式,并不转让产
腾讯SaaS加速器
2020/08/27
7530
国际SaaS企业有哪些机遇和挑战
来源 / ToB行业头条 (ID:wwwqifu) 采访对象 / AfterShip产品VP Gavin · 作者 / 不二
ToB行业头条
2022/11/17
6310
国际SaaS企业有哪些机遇和挑战
277亿美元收购Slack!Salesforce圆梦“社交企业”还是与微软正面刚?
12月2日,市值超过2000亿美元、全球最大的CRM SaaS服务提供商Salesforce.com宣布了其有史以来最大的一笔收购:以277亿美元的价格收购快速发展的视频会议与协作平台Slack,而Slack的市值则超过240亿美元。
科技云报道
2022/04/16
5270
277亿美元收购Slack!Salesforce圆梦“社交企业”还是与微软正面刚?
投资人考核SaaS的关键要点|投稿
作者:投稿人 赵山利。 关键词:SaaS 典型企业痛点 局限性 国外环境 网站:www.tikehui.com 一、SaaS关键成功因素 引导企业通过移动互联网提升管理的效率,提供理念和方法; 解决客户某个或某些痛点; 满足企业经营管理的延续性需求; 简单易用,快速上手,体验更好; 将社交化、移动化的要素作为核心设计理念融入产品之中; 产品迭代更新要求更高,开发产品和优化产品同样重要,持续创新; 为新兴行业制定方案; 引导客户需求的变化。 二、主要黏性因素 满足管理(者)需求是核心; 高替换风险;
人称T客
2018/03/22
1.7K0
基于流量数据,我们深挖了这家史上增长最快的SaaS公司
来源:增长黑盒 作者:John&Yolo ---- 增长黑盒一直在关注B2B赛道的增长案例,其中有一家特别神奇的SaaS公司——号称在没有销售团队和营销预算的情况下,成立3年营收增长10倍,一度被誉为“历史上增长最快的SaaS公司”——它就是Slack。 今年6月20日,Slack在纽交所挂牌上市,开盘暴涨48%,市值一度超过230亿美金——而从产品上线到上市,仅仅用了5年。更让人惊讶的是,Slack根本没有通过传统IPO的方式筹集新的资金,而是直接挂牌(DPO),可见其对自身经营状况和现金流的
腾讯SaaS加速器
2020/06/09
1K0
在SaaS领域,单纯的免费策略根本行不通!
在过去的2015年,我们见证了O2O从火热到遇冷,再到不断的兼并收购,2C市场日益饱和,资本进入了合并与退出阶段。 在2C市场日益饱和的同时,更多的创业者和投资人把关注目标转移到2B市场,寻找互联网与传统行业的深度结合。 因为SaaS模式在为企业带来便捷的营销手段、为企业管理作出贡献的同时,消除了传统软件模式所需要的购买、构建和维护基础设施和应用程序的投入,成为了很多传统企业向互联网+转型的选择。 据易观数据显示:2015年中国企业级SaaS市场规模将达到199.3亿元,这是一个正经历着裂变式高速增长的市场
静一
2018/03/26
6590
在SaaS领域,单纯的免费策略根本行不通!
复盘Notion从0到100亿美金的增长路径,给Global SaaS公司带来哪些启示?
“当每个人都在收缩的时候,我们该如何扩张?” 近年来硅谷最火热的PLG产品代表非Notion莫属,上文是联合创始人Akshay Kothari在今年7月接受Protocol访谈时提到的思考。 当时公司向老股东红杉和Index按照前轮百亿美金估值原价出售老股,这在各大SaaS公司估值腰斩和大规模裁员的新闻中显得十分“异类”,但足以让“信仰”Notion的用户和员工倍感振奋。随即公司启动了一项全球范围的宣传活动,在公交车站牌、建筑外墙和户外大屏等各处地方都逐渐布设广告。 图:Notion的线下广告,来自Pro
腾讯SaaS加速器
2022/09/14
1.2K0
复盘Notion从0到100亿美金的增长路径,给Global SaaS公司带来哪些启示?
2022年云办公行业研究报告
云办公又称远程协同办公,广义上的云办公指将政企办公完全建立在云计算的技术基础上,从而实现降低办公成本、提高办公效率、低碳减排的目标。狭义上的云办公指以“办公文档”为中心,为政企提供文档编辑、存储、协作、沟通、移动办公、工作流程等云端SaaS服务。云办公作为IT业界的发展方向,正在逐渐形成其独特的产业链与生态圈,并有别于传统办公软件市场。
资产信息网
2022/04/01
1.5K0
2022年云办公行业研究报告
Salesforce:千亿市值SaaS帝国是如何造就的?
自2004年登陆纽交所以来,经过17年高速发展,Salesforce稳居全球CRM软件市场首位,市值从11亿飙升至两千亿美元。
华世界产业数字研究院
2021/11/04
1.4K0
Salesforce:千亿市值SaaS帝国是如何造就的?
SaaS深度 | 创新模式才有春暖花开
来源 :腾讯咨询 作者:文永生George ---- 引言 2020年注定是不平凡的一年,一场突然而至的疫情,将中国的 SaaS 企业,推到前所未有的数字化风口时刻,如何拥抱机遇和挑战? 前不久,腾讯SaaS加速器对企业成员推出了“守望计划”,希望能够帮助这些优秀的SaaS企业成员缓解短期资金资源压力及经营挑战。其中包括现金贷款、云券、推广资源扶持,同时,也联合腾讯咨询为成员企业提供了1V1深度战略咨询。 腾讯咨询高级总监文永生老师见证了企业服务市场多年的摸爬滚打、对行业有深刻的洞察和理解,这
腾讯SaaS加速器
2020/06/09
8880
中国的企业管理SaaS仍需发展空间
来源:陈果George ---- 近年来,由于美国企业管理SaaS的头部企业,例如人力资源管理的Workday,客户关系管理的Salesforce,服务流程管理的ServiceNow等的资本市场价值飞涨的示范效应,传统企业管理软件企业,例如SAP、Oracle、Infor等义无反顾地向SaaS转型,中国也掀起了一股SaaS软件热,投资人津津乐道于“企业服务”,干HR SaaS的说自己要做中国的Workday,干CRM SaaS的说自己要做中国的Salesforce…… 但是,理想很丰满,现实却很骨感;
腾讯SaaS加速器
2020/06/09
7760
企业团队协同软件,SaaS模式产品快速增长
在企业数字化转型的市场趋势下,SaaS模式的企业团队协同软件更能满足客户对云服务、移动化、终端多样化以及快速部署的产品使用需求。
小炮
2022/04/28
4380
疫情让SaaS企业在夹缝中谋划未来
疫情之下,仿佛一夜之间,所有的企业都开始云办公了。数字化能力强的企业在高效运转,没有“上云”的则怅然若失,在艰难中寻求转型。在这中间,能够提供在线协同的SaaS行业好似一下子熬出了头,A股市场中,与在线协同有关的企业股价甚至逆势飙升。
大商创
2020/03/23
4570
疫情让SaaS企业在夹缝中谋划未来
未来SaaS创业者将不再沉浸于「大合同」狂欢
国内多数早期企业服务SaaS公司还处在追求规模化销售、提高销售人效比的阶段。但是始终不要忘记关注NDR,了解你的产品或服务是否能够满足客户的需求并吸引老客户。 来源 / ToB行业头条 (ID:wwwqifu) 作者 / 方凯
ToB行业头条
2022/06/28
3930
未来SaaS创业者将不再沉浸于「大合同」狂欢
2020年中国企业级SaaS行业研究报告
来源:艾瑞咨询 作者:艾瑞 ---- 企业级SaaS丨研究报告 全文字数:6628字  精读时间:17分钟 核心摘要: 中国企业级SaaS发展基础要素仍落后于美国:2019年中国GDP占全球的比例达到16.4%,但企业IT支出占比仅为5.5%,虽相比于2018年的4.8%已有显著提升,但整体而言,中国企业信息化水平相对经济发展仍较为落后。信息化水平作为企业级SaaS市场发展的重要基础要素,仍需云计算、大数据等新一代信息技术的有力推动。 新冠疫情加快了市场教育进程:受新冠疫情影响,传统的线下零售、餐饮、
腾讯SaaS加速器
2020/11/13
6540
云巨头的中场战事:PaaS、SaaS成为关键破局点?
近日,调研机构Canalys发布的2022年第一季度中国云计算市场报告显示,中国云市场整体保持高增长,2022年Q1中国云市场总体规模达到73亿美元,同比增长21%。
科技云报道
2022/12/06
8070
云巨头的中场战事:PaaS、SaaS成为关键破局点?
和平台融合做套件,是SaaS厂商掘金的新趋势吗
“良好的SaaS生态是ToB生意的基础,但对生态合作的理解不对,得到的结果也就大不相同”。这是过去诸多SaaS企业一号位常常挂在嘴边的话。
ToB行业头条
2024/07/01
880
和平台融合做套件,是SaaS厂商掘金的新趋势吗
猫头虎分享:AI时代SaaS项目必备技术名词概述(上)
大家好,我是猫头虎博主🦉,今天来和大家聊聊SaaS领域的那些事。不管你是技术小白还是行业大佬,相信我分享的这些内容都能让你有所收获哦!
猫头虎
2024/04/07
1780
推荐阅读
相关推荐
SaaS增长的第二曲线:寻找中国的Slack和Zoom
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文