首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Safari上Flexbox没有按预期包装。我做错了什么?

在Safari上,Flexbox布局可能会出现不按预期包装的问题。这可能是由于以下原因导致的:

  1. 浏览器兼容性问题:不同浏览器对Flexbox布局的支持程度不同,Safari可能对某些Flexbox属性的解析存在差异。这可能导致在Safari上的表现与其他浏览器不一致。
  2. Flexbox属性的使用错误:Flexbox布局有一系列属性,如flex-directionjustify-contentalign-items等,用于控制子元素的排列方式。可能是你在使用这些属性时出现了错误,导致布局不符合预期。

解决这个问题的方法如下:

  1. 检查浏览器兼容性:首先,确保你使用的Safari版本是最新的,并且支持Flexbox布局。可以通过查看Safari的官方文档或开发者工具来了解其对Flexbox的支持情况。
  2. 检查Flexbox属性的使用:仔细检查你在Flexbox容器和子元素上应用的属性,确保它们按照预期工作。特别注意Safari对某些属性的解析可能与其他浏览器不同,需要做相应的调整。
  3. 使用浏览器前缀:为了增加浏览器兼容性,可以尝试在Flexbox属性前添加浏览器前缀。例如,对于display: flex;属性,可以添加-webkit-前缀,即display: -webkit-flex;。这样可以确保在Safari上正确解析Flexbox属性。
  4. 使用Polyfill或框架:如果以上方法无法解决问题,可以考虑使用Flexbox的Polyfill或使用支持更好的CSS框架,如Bootstrap或Foundation等。这些工具可以提供更好的浏览器兼容性和一致的布局效果。

总结起来,要解决在Safari上Flexbox布局不按预期包装的问题,需要检查浏览器兼容性、Flexbox属性的使用是否正确,并考虑使用浏览器前缀、Polyfill或框架等方法来解决。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

CSS3弹性盒模型flexbox布局基础版

最近看了社区上的一些关于flexbox的很多文章,感觉都没有我这篇文章实在,最重要的兼容性问题好多人都没有提出解决方案。...另外本人还废寝忘食的翻译了国外的《CSS3弹性盒模型flexbox完整教程》和《CSS3弹性盒模型flexbox布局实例》,这么好的文章没有人来发现,实在是遗憾。...弹性布局适合于移动前端开发,在Android和ios上也完美支持,所以搞移动的朋友非常有必要认识和使用了。这个属性很久就看到了。...一直在考虑到兼容性问题,没有认真深入,后来又发现在现在现代浏览器中也会出现一些诡异的bug,所以又放弃了。 如果考虑到只处理移动方面的,那么兼容性就可以忽略了。...This article by Richard 分享在 Smashing Magazine在2011过渡时间,但它更多的关注是2009以前的语法。

78720
  • 宝, 来学习一下CSS中的宽高比,让 h5 开发更想你的夜!

    在这篇文章中,我们将讨论什么是宽高比,我们过去是怎么做的,新的做法是什么。当然,也会有一些用例,对它们进行适当的回退。...当此盒式高度按比例调整为其宽度时,我们将有一个致宽尺寸的框。 考虑下图。 盒子被按比例调整大小,其宽度和高度之间的比例是一致的。...通过拥有一致的高宽比,我们可以获得以下好处 整个网站的图像将在不同的视口大小上保持一致。 我们也可以有响应式的视频元素。...请注意,卡片大小的变化和缩略图的长宽比没有受到影响。...如果你使用flexbox或grid ,宽度将是可选的,它可以被添加作为一个最小值。

    1.7K30

    win8效果的横向布局

    有一个月没写过博客了,自己的博客也没有看过,前段时间一直在忙着写代码,公司有一个制漆的产品,与传统纵向布局不一样,要求页面横向布局,类似win8的那种布局效果,最开始,我也没有什么头绪,然后硬着头皮做了...,后来,遇到了很多麻烦,我网上查了一些资料,但都不太好,只好自己做了,在做的过程中,突然想到,flex布局,我就试了一下,成功了 <!...4.4- */ display: -moz-box; /* OLD - Firefox 19- (buggy but mostly works) */ display: -ms-flexbox...3.1-6 */ display: -moz-box; /* OLD - Firefox 19- (buggy but mostly works) */ display: -ms-flexbox...时隔一年,我再来做这个,越来越简单了,废话不多说,直接上代码 <!

    2.1K30

    苹果拒绝支持PWA的行为对Web贻害无穷!

    以下功能是你无法在移动版 safari 上做的事情,因为苹果拒绝支持它们: 创建应用程序加载屏幕 使用推送通知 添加离线支持 创建一个初始的应用程序UI来实现即时加载 通过浏览器引导对话框,提示安装到主屏幕...固定标题闪烁(我最大的心病,这就是为什么我最终在自己的产品上( brewlog.com )禁用它的原因) 在 300ms 延迟后终于从移动版 Safari 中移除,却没有在全屏模式下移除(Apple没有回应...我对它从不感冒。这感觉就像是把我的应用运行在一个 webview/native 包装器上一样。我曾经尝试学习并使用 Ionic/Angular,但始终对它没有什么感觉。...当看到那些在 Ionic 生态体系中花费时间的开发公司时,我觉得他们可能搭错了车。...(说句良心话, 在几年前还没有 React Native 这个选择) 一旦引入了一个包装器,你仍然需要通过 app store发布自己的应用。

    1.9K30

    前端-CSS Grid中的陷阱和绊脚石

    Chrome、Firefox和Safari的生产版本中。...为什么使用CSS Grid而不是CSS Flexbox? 在CSS网格布局在浏览器中可用之前,很多人都认为Flexbox是我们所有设计相关问题的答案。...所有东西都被放在容器上。在Flexbox布局中,你必须针对Flex项目来设置flex-grow、flex-shrink和flex-basis属性。...使用Flexbox要比浮动更有一些优势,比如控制对齐和列等高之类的要简易得多。然而,在Flexbox和浮动的方法中仍然没有网格,只是通过设置项目的大小,并将它们排列起来,让其看起来像网格的东西。...一个真正的瀑布流布局将使事物在源代码中工作。项目被推上去填充部分空间。它更像是在两个维度上做Flexbox布局。

    4.8K20

    10 个你需要熟悉的 CSS3 属性

    5.多种背景 该 background 属性已经过大修以允许在 CSS3 中使用多个背景。 让我们创建一个愚蠢的示例,仅作为概念证明。由于附近没有合适的图片,我将使用两张教程图片作为我们的背景。...我还将应用一个通用的宽度和高度,因为我们没有任何实际的内容在播放。...观察当我们在 #main 内容区域明确声明宽度时会发生什么。...要 了解有关 Flexbox 的更多信息,请查看我们的完整指南!现在所有主流浏览器都支持此功能,您可以预期它可以在超过 99% 的设备上正常工作。...水平和垂直居中 接下来,我希望我们的卡片在屏幕上完全居中。为此,我们将利用灵活盒模型。 由于我们的页面将只包含这张卡片,我们可以有效地使用该 body 元素作为我们的包装器。

    2.2K00

    关于使用现代CSS新特性布局嵌套评论组件的尝试,希望对你有所启发

    在我的好奇心驱使下,我想为什么不去查看一些热门网站,并了解一下它们是如何实现评论组件的布局。起初,我认为这将是一个简单的任务,但实际并非如此。...评论包装器布局 - 填充解决方案 我将标题称为“评论包装器”,以免混淆评论组件本身的含义。在下一节中,我将解释我构建布局以处理评论回复的缩进或间距的想法。...这就是为什么我添加了 grid-column: 1 / -1。这意味着:“从第一列到最后一列,让评论组件横跨全部列”。这样做有助于避免在嵌套的每个深度中手动输入列号。...我甚至还没有考虑评论组件。 让我们仔细看一下评论组件: 乍一看,这似乎是使用 flexbox 的绝佳场景。我们可以通过 flexbox 将头像和评论框显示在同一行上。...我将重点介绍一些我认为适合使用现代CSS的有趣技巧。 改变用户头像大小 在回复嵌套在评论中时,用户头像的大小将变小。这样做有助于在视觉上更容易区分主评论和回复。

    38430

    把所有的东西都对齐吧 - 谈谈垂直居中的解决方案

    但是没有任何技巧十全十美,我们需要注意几点: 我们有时不能选择绝对定位,他对整个布局影响太过强烈 如果需要居中的元素已经在高度上超过了视口,那它的顶部部分就会被视口裁掉 在某些浏览器中,这个方法可能会导致元素的显示模糊...,因为元素可能会被放置在半个元素上.可以用一个偏hack的手段来修复transform-style:preserve-3d 基于视口的解决方案 假设我们不使用绝对定位,仍然采用translate()技巧来把这个元素以其自身宽高的一半为距离进行移动...基于Flexbox的解决方案 这是毋庸置疑的最佳解决方案,因为Flexbox(伸缩盒)是专门针对这类需求所设计的.现代浏览器对于Flexbox支持度已经相当不错了 我们只需要两行声明即可:先给这个待定居中元素的父元素设置...; margin:0; } main{ margin:auto; } Flexbox还有一个好处就是,它可以将匿名容器(即使没有节点包裹的文本节点)垂直居中....(但是路途还很遥远:IE10及更早版本不支持,Safari 7.0 及更早版本使用-webkit前缀) ?

    2.3K60

    完美掌握多行文本修剪技巧:CSS中的实用指南

    下面是正文~~~ 在Web 开发中,CSS中的文本裁剪一直是一个问题。直到几年前,裁剪文本只能通过服务器端语言或JavaScript来完成,因为CSS没有文本裁剪功能。...CSS Flexbox 模块更新了两次,之后就没有留下任何多行特性的痕迹,这个特性是在 CSS Flexbox 的第一次实现中引入的。...非常不寻常的是,微软浏览器使用了 -webkit 前缀,这通常只用于Webkit浏览器, 如Chrome / Safari和Opera。 2019年7月,它再次发生了!...使用 line-clamp 非常简单: 在文本容器上定义旧的 CSS Flexbox 属性 display: -webkit-box; 使用以下方法定义要显示的文本行数 -webkit-line-clamp...如果可能的话,我更喜欢使用省略号这种旧的方式,因为它更接近 CSS 中的官方方式。 鉴于此,我创建了一个 @mixin ,它通过接受一个整数的可选参数来同时针对单行修剪和多行修剪。

    28740

    前端使用 WebSocket 的四大注意事项(线上踩坑,含泪分享)

    虽然我没有设置ws.binaryType为arraybuffer,但是因为Safari检测到是二进制数据,就直接把event.data转换为了ArrayBuffer类型,不是Blob类型,导致我调用await...在Safari中,只触发了一次onmessage事件,Safari没有帮我们分隔消息。事实上,在WebSocket消息中,\n换行符本身就是区分消息的特殊符号。...Chrome做的很好,帮我们分割好了。但是像Safari这种浏览器没有帮我们分割,为了兼容性,我们也需要处理下。...解决如果后端有「批量发送」的机制,就在onmessage事件中,把消息按\n分割后,再依次处理。如果后端没有实现「批量发送」的机制,则可以忽略。...因为在Safari上:如果你同时建立多个WebSocket连接,是同时发送ws连接请求的(当然注意ws同时连接数有上限,做压测时,一个Tab没必要一次性连太多,是没用的)。

    3.4K30

    Flex 布局相关用法

    那我自己对他的定义是,Flexbox 从本质上就是一个 Box-model 的延伸,我们都知道 Box-model 定义了一个元素的盒模型,然而 Flexbox 更进一步的去规范了这些盒模型之间彼此的相对关系...而不需要去用一些很 cheat 的做法,去 hack 一些本来其实不应该用来做版面布局的属性。...比如: display: -webkit-flex; 但有两点要注意的是,父容器设置flex之后:  CSS的columns在伸缩容器上没有效果。  ...float、clear和vertical-align在子项目上没有效果。 2.flex-direction(适用于父容器) flex-direction属性决定主轴的方向(即项目的排列方向)。...类似于伸缩项目在主轴上使用“justify-content”一样。 注:请注意本属性在只有一行的伸缩容器上没有效果。

    1.5K10

    这30个CSS选择器,你必须熟记(上)

    从本篇文章起,我给大家归纳了常用的30个CSS选择器,希望通过我的总结,你能够喜欢上这些常用的选择器,废话不多说,我们这篇文章将介绍前10个。...在介绍之前,我们先理解下文档结构树的父子关系 在学习CSS选择器之前,我们需要弄清楚文档结构的父子关系,什么是父元素、子元素以及祖辈元素和后代元素这些概念,清楚了这些逻辑关系后,你才能更好的掌握CSS选择器...许多开发者可能会用这个技巧如下代码所示让元素居中,在开发测试阶段固然是好的,但是我不建议这么做,因为这样做会给浏览器增加很大的负担。...定义多个元素的样式,好比按组进行归类,同一类的样式统一定义。...X Y Z A B.error这样就错了。

    67020

    CSS3之flex兼容写法

    很久不写博文,之前的长时间不上都关闭了,但随着工作时间长越来越长,对知识的积累和总结还真的是很重要的。所以奉劝码农们每天都还是要抽出来一点时间总结点东西,以后对你受益匪浅!!...今天还是变谈CSS3里的flex怎么处理兼容的 flex是个非常好用的属性,如果说有什么可以完全代替 float 和 position ,那么肯定是非它莫属了,虽然现在低版本浏览器不支持,可是对于移动来说兼容性不是问题...,可是在安卓4.3以后版本里。...ms-flex: 1       /* IE 10 */               flex: 1;         /* NEW, Spec - Opera 12.1, Firefox 20+ */   } 我要说的主要部分来了...尤其是在底版本安卓系统中。因为什么呢?因为所有都是向下兼容的,所以写法的顺序一定要写好了才起作用。就是把旧语法写在底下,个别不兼容的移动设置才会识别,哪些是旧的语法,你懂的。

    1.6K10

    百度实习分享

    如果不着急找实习的可以学习一下Acwing上的算法基础课。 竞赛/项目,总结+包装。把自己之前做过的所有项目或者竞赛都好好总结,梳理一下项目的背景,项目的基本问题、难点有哪些,数据大概什么样子。...自己针对这些问题的解决方案是什么,效果怎么样,为什么会这样,最后如果还有时间自己会怎么继续提高。(我在找实习的时候把每个项目都重新用文档梳理了一遍,每次面试前都看一遍)。...说到项目或者竞赛,其实还有一点,就是如何包装的问题。建议多看看竞赛的top方案总结,他们其实就是很好的模板(尽可能找和自己做的比赛相关的竞赛的方案)。 面经整理。...对于没有项目或者竞赛的同学,可以去阿里天池或者其他的平台做一些教程比较完善的入门赛,然后好好包装一下(参考开源的top方案)写到简历里面。...),实习具体做的事情大概是什么。

    46920

    Web 技术:CSS最小和最大(宽度高度)知识点及优缺点

    在使用阿拉伯语等多语言网站时,这一点非常重要。 考虑以下来自Twitter的示例: ? 在以前的情况下,按钮上带有单词“تم”,表示完成。 按钮的宽度太小,因此在后面的案例中,我增加了它的最小宽度。...但是,如果内容作者输入了一个非常长的标签名称,而他使用的内容管理系统没有标签的最大字符长度,将会发生什么情况呢? 我们也可以使用max-width。...混合最小宽度和最大宽度 在某些情况下,我们有一个最小宽度的元素,但同时,它没有最大宽度。这可能会导致组件太宽,而我们并不想这样做。考虑以下示例 ?...如果没有固定的高度(不建议这样做),除非使用JavaScript,否则这是不可能的。 但是,对于max-height,这是可能的。...Hero 元素的最小高度 一般来说,我不喜欢给元素添加固定的高度。我觉得这样做,会破坏流式布局的结构。但有些情况设置固定高度却很有用。 考虑下面的例子,在这里我们有一个设置了固定高度的hero部分。

    6.1K20

    CSS中,如何处理短内容和长内容?

    在许多情况下,添加或删除一个单词会改变 UI 的外观,更糟的是,它可能会破坏原有的设计,使其无法访问。在我学习 CSS 的早期,我低估了添加或删除一个单词的作用。...image.png 名字的长度可以变化,特别是如果你是在一个多语言网站工作。在上面的示例中,随着名称变长,它被包装到第二行。这里有一些问题 应该把这段文字截短吗 应该换成多行吗?...这种情况下单词比预期的多,但是当单词太长时会发生什么呢?默认情况下,它将溢出其容器。 image.png 作为专业前端开发人员,重要的是要确定在这种情况下应该要知道怎么处理。...image.png Hyphens CSS 属性 hyphens 告知浏览器在换行时如何使用连字符连接单词。可以完全阻止使用连字符,也可以控制浏览器什么时候使用,或者让浏览器决定什么时候使用。...在本例中,由于没有在它们之间添加足够的间距,产品名称太接近删除按钮。 ?

    1.8K40

    【CSS】Houdini, CSS的成人礼

    ,举个例子: Paint API: 在JS领域里直接使用Canvas标签和包装起来的相关函数也是可以做的 Layout API:提供的是大幅度的自定义布局的功能,但问题是。。。...我感觉我在传承了Houdini的灵力加持后功力大增! 大师:那尼玛是因为你一开始的内力。。。...emmm 啊~下面又到了我最喜欢的互怼环节了呀 告别CSS 为什么CSS一开始这么难学 前端工程师讨厌写CSS是什么心态? 为什么说Houdini是CSS漫长的成人礼?...,就算是Paint API也好,它也仅仅只在Edge76,Chrome66和Opera52以上实现了技术扎根, 其余浏览器,哪怕是IE,Firefox,Safari的最新版本,也都尚未实现 下面这张是谷歌上搜到的...canary直译为“金丝雀”,属于和dev,beta相类似的版本的概念范畴,(你就理解为内测版吧,逃~)根据相关资料提示,Layout API在Chrome-Canary上实现部分支持,但是我试用了一下发现还是用不了

    69620
    领券