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

CSS深入理解学习笔记之overflow

(IE8+)   注:overflow-x与overflow-y值不同,其中一个属性值被赋予visible,而另一个被赋值为hidden/scroll/auto,则visible会被重置为auto。...因为IE7下width宽度计算为整400px,然而垂直滚动条占用了部分宽度,所以出现了水平滚动条。想要去掉这个水平滚动条,只需要删除width:100%就可以了。   ...也会导致scrollHeight值不一样。 ? 滚动条的宽度机制:     滚动条会占用容器的可用宽度或高度。 ?...水平居中跳动问题修复:     ①html{overflow:scroll;};     ②.container{padding-left:calc((100vw - width) * .5);}——100vw...文本溢出省略号显示属性text-overflow:ecllipsis。前提是white-space:nowrap以及overflow:hidden。

3.4K50
您找到你想要的搜索结果了吗?
是的
没有找到

能让你受益匪浅的10个css使用技巧

09 图片自适应占位方式 图片未正确加载,或加载完成前,由于图片高度为0,其容器会因为没有内容,导致容器无法撑高而塌陷,而如果加载较慢则会在图片加载完成后出现闪烁的情况。...css中,padding-top/bottom值为百分比,其值都是以其父元素的宽度为参照对象。...如果设置值padding-top/bottom为百分比,会出现一个问题,就是该方法容器的max-height属性会失效,就无法限制容器的最大高度了。...top: 50%; transform: translateX(-50%) translateY(-50%); /* 控制内容绝对定位位置 */ width:80%; /* 控制图片不溢出...,因此这里使用的图片实际宽度受父容器影响 */ } 但是对于宽高比例不定的图片来说,这样做可能导致图片显示不全,使用时要注意。

1.5K20

网站自适应布局为什么我要抛弃rem,改用vw?

页面中所有元素都使用rem单位,你只需要改变根元素font-size值,所有元素就会按比例放大或者缩小。...这种方案有弊端(弊端之一:和根元素font-size值强耦合,系统字体放大或缩小时,会导致布局错乱;弊端之二:html文件头部需插入一段js代码 ),本文将介绍一种更优秀纯粹的方案。...100vw包括了页面滚动条宽度(页面滚动条属于viewport范围内,100vw当然包括了页面滚动条宽度)。把body或者html设置为width:100%,是不包括页面滚动条的宽度的。...那么就会引发一个问题:pc端使用vw单位,如果页面内容超出一屏长度,出现了纵向滚动条,同时有元素width:100vw, 则会导致出现条横向滚动条,因为元素(100vw + 滚动条宽度)超出了viewport...相较之下,vw单位兼容性比rem稍差,ios8、安卓4.4及以上才完全支持。这也是为什么之前rem布局一直更流行的原因。

2.9K10

【震惊】padding-top的百分比值参考对象竟是父级元素的宽度

题目须知: 页面中有一个元素A,请实现以下需求: 元素A在页面内水平、垂直居中; 元素A距离页面左右的间距为10px,元素A的宽度随页面宽度变大而变大; 设置元素A的高度始终为宽度的一半; 只要是对CSS...,实际宽度会受到弹性盒子的影响 */ width: 100vw; /* calc方法动态计算:height的值为宽度的1/2,所以是 (100vw - 20px) / 2 */...> 在上述的代码中我们借助calc方法实现了设置元素的高度为宽度的1/2 此时内心是否有些窃喜,又搞定了一个问题...探究padding-top的秘密 padding-top的值为百分比,参考的对象是父级元素的宽度 这句话圈起来,是重点,要考~ <!...最后的秘密 padding-top、padding-bottom、margin-top、margin-bottom属性设置为百分比,参考对象都是父级元素的宽度 要记住呀,下回还得考~ 以上就是胡哥今天给大家分享的内容

1.3K10

看图说话,新 CSS 单位 “svh” “dvh” 原来如此

本篇通译自:The large, small, and dynamic viewport units ---- vw 和 vh 单位是我们都比较熟悉的两个单位,100vw 和 100vh 代表着视图窗口的宽和高...我们在写移动端布局兼容的时候会经常用到它们,类似于百分比的写法; 它们有不错的兼容性: 然而有一个问题,当我们使用 100vh ,且有顶部地址栏或底部操作栏的时候,会出现溢出屏幕的情况: 滑动滚动条的时候...又会充满整个窗口: 宽度也是如此,会受滚动条宽度的影响; 为了解决这个问题,出现了两个新单位: svh、lvh s 就是 small 的缩写 l 就是 large 的缩写 100 svh 将不会有溢出的情况...除了 svh 还有另外一个更神奇的新单位:dvh,这个 d 是 dynamic 的缩写,它是动态的: 一图胜千言: 只不过 svh 和 dvh 的支持还没有特别的好 不过将来肯定会用上的~ 因为已经厌倦了那种算顶部栏...---- OK,以上便是本篇分享,希望各位工友喜欢~ 欢迎点赞、收藏、评论 我是掘金安东尼 100 万人气前端技术博主 INFP 写作人格坚持 1000 日更文 ✍ 关注我,安东尼陪你一起度过漫长编程岁月

1.7K40

为什么要用 picture 标签代替 img 标签?

大多数时候,由于我们正在寻求更高级别的解决方案,因此会忽略一些可能会带来巨大影响的小事。...在 picture 标签和 img 标签之间做选择可能是一个很小的决策,如果你做出了正确的选择,就能改善用户体验和性能。...下次当你创建一个 React 图像组件,请一定要在其中实现你即将在本文中学习的最佳实践。根据接收到的 props 返回正确的标签,并处理好所有必要的回退。...在这种情况下,运行你应用程序的每台设备都会使用相同的图像,并且肯定会导致屏幕分辨率较低的设备(如移动设备)出现性能问题。 这可能会导致更长的图像加载时间以及从上到下一块一块地图像加载。...话虽如此,建议不要将 picture 标签用于分辨率切换,因为可以使用更新版本的 Img 标签(具有更多的浏览器支持)来实现此目的。

1.2K20

详细的聊一聊如何使用响应式图片,提升网页加载速度

这个URL的名称并不重要,通常您在不同尺寸上有多个相同的图片时,您会希望在名称中加上尺寸信息。 这项内容的第二部分是400w。...如果我们使用像上面那样的srcset,我们的图像将根据浏览器窗口的完整尺寸进行缩放,这将导致在大屏幕上图像比实际需要的要大。这就是sizes属性的用途。...第二部分是如果媒体查询为true我们要使用的尺寸。在这种情况下,我们使用100vw,这意味着我们希望浏览器根据浏览器窗口的完整宽度选择图像尺寸。 第二个项800px没有媒体查询,而只是一个尺寸。...这非常好,因为它可以节省带宽,因为您已经拥有较大的图像,下载较小的图像没有意义。...但是,您希望在不同的屏幕尺寸上显示不同的图像,这可能会成为一个问题,这就是为什么picture元素是理想的选择。

29130

Chrome 108 :发布新的 CSS 布局单位!

Viewport's height) : 1vh 为视觉视口高度的 1% 另外还有两个相关的衍生单位: vmin : vw 和 vh 中的较小值 vmax : 选取 vw 和 vh 中的较大值 如果我们将一个元素的宽度设置为...100vw 高度设置为 100vh,它将完全覆盖视觉视口: 这些单位有很好的浏览器兼容性,也在桌面端布局中得到了很好的应用。...视口大小可能会更改, vw 和 vh 的大小不会。因此,尺寸过大的 100vh 元素可能会从视口中溢出网页向下滚动,这些动态工具栏可能又会自动缩回。...除了 Large viewport 和 Small Viewport ,还有一个 Dynamic viewport(动态视口) 动态工具栏展开,动态视口等于小视口的大小。...动态工具栏被缩回,动态视口等于大视口的大小。 相应的,它的视口单位以 dv 为前缀:dvw, dvh, dvi, dvb, dvmin, dvmax。

1.5K20

数组的下标越界与内存溢出有关吗_数据量过大数组报下标越界

以上两张图片是在VS2013里面的运行结果,两次输入的下标都会越界,为什么第一张图报错了(数组下标越界),而第二张没有。...以上是在VC6.0的运行结果,VS2013不同,VC6.0里报错出现在输入值为11输入12也会报错),而输入10并不会报错。...这里初始化时,for循环一共循环了101次,所以是要给数组初始化101个元素的值,而数组只有100个元素,这样就导致了内存溢出。...VS2013环境下,编译链接运行都可以,但会抛出一个错误—>>数组内存溢出。 这是在VC6.0环境下,编译链接运行都可以,同样会出错。...会得到一个错误的 i 的值,可能机会导致一连串的错误,致使结果与预期相差甚远。

1.7K60

移动端H5坑位指南

页面包含多个滚动区域,滚完一个区域后若还存在滚动动量则会将这些剩余动量传播到下一个滚动区域,造成该区域也滚动起来。这种行为称为滚动传播。 若不想产生这种奇怪行为可直接禁止。...万年话题,如何控制文本做单行溢出和多行溢出?...声明position:fixed会导致滚动条消失,此时会发现虽然无滑动穿透,页面滚动位置早已丢失。...输入完成键盘占位消失后,页面高度有可能回不到原来高度,产生坍塌导致Webview底色露脸,简单概括就是输入框失焦后页面未回弹。...输入框监听keyup事件,逐个输入英文和数字会有效,逐个输入中文不会有效,需按回车键才会有效。 此时可用input事件代替输入框的keyup/keydown/keypress事件。

3.4K10

Clamp()、Max() 和 Min() CSS 函数的用例

最初,它将如下图所示: 容器的宽度变小时,我们希望缩小图像的大小以适应可用空间。我们可以通过使用宽度或高度的百分比值(例如:宽度:20%)来做到这一点,这并没有给我们太多的控制权。...考虑下图: 当前进度值在它上面有一个小句柄,当值为 100% ,我们需要宽度来尊重它。...考虑下图,我们在两个部分之间有一个行分隔符。 在移动设备上,该分隔符应变为水平,如下所示。 我的解决方案是使用边框和弹性框,这个方法是带有边框的伪元素可以扩展以填充垂直和水平状态的可用空间。...min() 函数在 8px 和 calc((100vw - 4px - 100%) * 9999) 的计算值之间进行比较,这将导致非常大的正数或负数。...9999 是一个很大的数字,强制该值为 0px 或 8px。 有了上面的内容,卡片占据整个视口宽度,它的半径为零,或者在更大的屏幕上为 8px。

1.5K20

【网页前端】CSS的常用布局(上)

清除浮动 4.1 准备代码 4.2 引言 通常情况下,未设置高度的 标准流父元素,在子元素进行浮动,会导致父元素失去子元素,高 度消失。 进而影响页面排版。...浮动元素仅有一个“影子”, “影子”被生效一次 。...但因为不会添加额外标签,很多美工人员用伪元素可以应对需求反复的修改,所以会见到其他 人的代码中使用 扩展:特殊条件下,伪元素生成的内容有高度、且内容被显示影响版式,我们会多加入两个属...(相当于有一个披了隐身衣的隐身人,占着地方,却看不见他) 一般用不上,因为伪元素 :after 在 content 为空,默认生成的就是高度为 0 ,看不见的元素。...4.8 总结 未设置高度的 标准流父元素,在子元素进行浮动,会导致父元素失去子元素,高度消失。 这时我们可以采取清除浮动来让布局可控。 5.

94430

一次性把所有普通和经典的网页布局讲得通通透透的,多图预警,建议收藏

水平垂直居中 如何实现水平垂直居中 可以说是CSS面试题中的经典面试题,在多年前这个面试题给很多同学都带来了困惑, Flexbxo布局模块 和 CSS Grid布局模块 的到来,可以说实现水平垂直居中已是非常的容易...它也是到目前为止布局系统中唯一一个二维布局系统。 在CSS Grid布局中,只需要仅仅的几行代码也可以快速的帮助我们实现水平垂直居中的效果。比如下面这个示例: 会在页面的最底部,内容超出一屏,会自动往后延后”。...但不管是Flexbox还是Grid布局中,都存在一定的缺陷,容器没有足够的空间容纳Flex项目(或Grid项目),Flex项目或Grid项目会溢出(或隐藏,如果Flex容器或Grid容器显式设置了overflow...这个时候你将看到像下面这样的示例: “Demo https://codepen.io/airen/embed/QWymaam ” 不过这种方式也不是最佳的方式,末尾行的个数不只少一个,就会出现下图这样的效果

5.6K10

浅谈 Web 图像优化

360 ,图像的宽度为 100vw视口大于 768 ,图像显示为 90vw,以此类推。...最后的 src 是作为默认图像 url 引入,是一个回退方案,当然浏览器不认 srcset 和 sizes 属性,直接读取 src 渲染。...视口大于 960 像素,会加载 960.jpg。大于 768 像素,会加载 768.jpg。视口小于768,则加载默认图像。...还是有不足。参考了下知乎和 medium 等网站的示图效果,可以进行模拟: 先创建一个为图片占位的预留块,在这个块中会展示图片。...块中有另外一个块会先设置一个 padding-bottom 来撑起块的高(即保证需要加载图像也是这个宽度高度的比例)。这样防止图片在加载发生重排。 加载一个轻量版的图片。

1.4K90

工商银行分布式服务 C10K 场景解决方案

服务调用并发突增,很容易造成全链路节点堵塞,从而影响其他服务的调用,并进一步造成整个服务集群性能下降甚至整体不可用,导致发生雪崩。服务调用超时问题不可忽视。...根据 Dubbo 框架的心跳机制,消费方数量较大,提供方发送心跳报文、需应答的消费方心跳报文将会很密集。...同一间观察网络抓包,提供方收到较多的心跳报文。 ? 因此,确认以上怀疑。心跳密集导致 netty worker 线程忙碌,从而导致交易耗时增长。...因在本验证场景下,订阅提供方的消费方数量过多,提供方重启后,注册中心向消费方推送提供方上线通知,所有消费方几乎同时与提供方重建连接,导致全连接队列溢出。...3 线上实际运行效果 基于以上验证结果,中国工商银行在分布式服务平台中集成了以上优化内容。截至发文日期,线上已存在应用一个提供方上连接上万个消费方的场景。

79830

每个高级前端工程师都应该知道的前端布局

每次加载不同的样式,它们都能在一个项目中兼容。这就是所谓的响应性。然后,我希望产品经理能多考虑一下。我不想做了设计工作,最后却说它不好看,因为我不会做设计。...移动终端的常用宽度和高度 垂直屏幕的常见宽高比:1:2, 2:3, 3:4, 3:5, 5:8, 9:16 横向屏幕的常见宽高比:4:3, 5:3 智能手机屏幕尺寸和分辨率列表 4.常见布局 4.1 百分比布局 改变窗口的高度和宽度...如果子元素的 padding 和 margin 设置为百分比,无论是垂直还是水平,它们都是相对于直接父元素的宽度而言的,与父元素的高度无关。...border-radius 是一个百分比,是相对于其宽度而言的 缺点计算困难。如果我们要根据设计草案定义元素的宽度和高度,必须将其转换为百分比单位。...4.4 VW、VH 响应式布局 因为 100vw = 100 视图窗口宽度,100vh = 100 视图窗口高度,那么根据 750 的设计草案,100vw 就是 750。

19220

Redis 的 BigKey、HotKey 又引发了线上事故!

大量的请求,经过分发和计算,最终集中于同一个redis实例下的某个key,该key由于被请求频率过高,而占用掉了大量资源。 而其他分片,由于key的不合理分配导致请求量较少。...3.内存溢出或处理阻塞: 一个较大的key存在,持续新增,key所占内存会越来越大,严重时会导致内存数据溢出key过期需要删除,由于数据量过大,可能发生主库较响应时间过长,主从数据同步异常(删除掉的数据...比如说: (1)购物车场景,一个购物车的key设计,没有上限,没有其他随机值约束,使用了mid。这个时候就要注意,如果有个购物狂,一次加购5w件商品怎么办?...下图中的三个节点是同属于一个集群,它们的 key 的数量比较接近,内存容量相差比较多,存在 Bigkey 的实例占用的内存多了 4G 以上了。...来一个生产上的迁移失败案例 我们也遇到过一些因为 Bigkey 扩容迁移失败的案例,如下图所示, 这是一个 Redis 集群水平扩容的工单,需要进行 key 的迁移,工单执行到 60%的时候,迁移失败了

60620

百度面试题:一个线程 OOM 后,其他线程还能运行吗?

由于面试官提到OOM, Java 的OOM又分很多类型的呀: 堆溢出(“java.lang.OutOfMemoryError: Java heap space”) 永久代溢出(“java.lang.OutOfMemoryError...通过代码验证《Java虚拟机规范》中描述的各个运行时区域储存的内容 在工作中遇到实际的内存溢出异常,能根据异常的提示信息迅速得知是哪个区域的内存溢出,知道怎样的代码可能会导致这些区域内存溢出,以及出现这些异常后该如何处理...说明一个线程抛OOM后,它所占据的内存资源会全部被释放掉,而不会影响其他线程的正常运行! 所以一个线程溢出后,进程里的其他线程还能照常运行。...如果是建立过多线程导致的内存溢出,在不能减少线程数量或者更换64位虚拟机的情况下,就只能通过减少最大堆和减少栈容量换取更多的线程。...allocateMemory() 使用unsafe分配本机内存 结果 由直接内存导致的内存溢出一个明显的特征是在Heap Dump文件中不会看见有什么明显异常,若发现内存溢出之后产生的Dump

70220
领券