TCP采用大小可变的滑动窗口进行流量控制,窗口大小的单位是字节。这里说的窗口大小其实就是每次传输的数据大小。当一个连接建立时,连接的每一端分配一个缓冲区来保存输入的数据,并将缓冲区的大小发送给另一端。...在实际开发中,this 的指向可以通过四种调用模式来判断。第一种是函数调用模式,当一个函数不是一个对象的属性时,直接作为函数来调用时,this 指向全局对象。...可以看到XSS危害如此之大, 那么在开发网站时就要做好防御措施,具体措施如下:可以从浏览器的执行来进行预防,一种是使用纯前端的方式,不用服务器端拼接后返回(不使用服务端渲染)。...接着借助 CSS 动画特效中的放缩能力,把整个伪元素缩小为原来的 50%。...此时,伪元素的宽高刚好可以和原有的目标元素对齐,而 border 也缩小为了 1px 的二分之一,间接地实现了 0.5px 的效果。
当 :checked 返回 true 的情况时,我们使用 transform 属性更改状态。 你可以使用这种方法实现各种目标。比如,当用户点点击指定的复选框时候,切花到隐藏其内容。...使用 :is() 和 :where() 添加元素样式 现代 CSS 框架运行的一种方式是通过使用条件逻辑选择器。换言之,:is() 和 :where() 属性可以用于同时设置多种设计元素的样式。...但是,更重要的是,你可以使用这些属性去查询你需单独处理的元素。 下面的 CSS 片段是一个小案例,你可以通过 MDN 学习更多关于 :is() 和 :where() 的内容。 代码片段 7....下面是纯 CSS 代码片段对其的实践。 代码片段 8. 侧边栏的 Hover 效果 有没有可以使用 CSS 就可以实现一个动态 Hover 效果的侧边栏呢?...当特定元素在页面中第一次出现,我们可以使用 first-of-type 单独进行添加样式。但是,正如下面代码展示,尽管元素已经出现过,你依然可以使用在多个元素上。 代码片段 10.
一、背景 我们在设计页面的时候,经常要把div等块级元素居中显示,而且是相对页面窗口水平和垂直方向居中显示,如让登录窗口居中显示。我们传统解决的办法是用纯CSS来让div等块级元素居中。...; margin:-100px 0 0 -150px } 该方法使用普遍,但是前提是必需设置div等块级元素的宽度和高度。...如果当页面div等块级元素宽度和高度是动态的,比方说需要弹出一个div等块级元素元素层并且要居中显示,div等块级元素的内容是动态的,所以宽度和高度也是动态的,这时需要用jQuery可以解决居中。 ...注意div等块级元素的CSS设置要在resize()方法中完成,就是每次改变窗口大 小时,都要执行设置div等块级元素的CSS。 ...()方法 $(function(){ $(window).resize(); }); 此方法的好处就是不需要知道div等块级元素的具体宽度和高度大小,直接用jQuery就可以实现水平和垂直居中
而完美视口需要通过viewport meta标签来进行相应的设置。 ###像素### 一个像素就是计算机屏幕能显示一种特定颜色的最小区域。屏幕上的像素越多,同一时间你可以看到的就越多。...但当在高密度屏幕上,例如苹果的视网膜屏幕,一个CSS像素跨越了多个设备像素。如果用户缩小到足够的程度,一个CSS像素会变得明显比一个设备像素小。...举个例子: 当给一个元素设置width:200px时,到底会发生什么事情? 这个width为200px的元素跨越了200个CSS像素。...当这个比率为1:1时,使用1个设备像素显示1个CSS像素。当这个比率为2:1时,使用4个设备像素显示1个CSS像素,当这个比率为3:1时,使用9(33)个设备像素显示1个CSS像素。...如果在页面中我们使用rem结合js动态计算font-size值来实现多屏幕适配,这种方式可以无限适配最大和最小的终端屏幕。
1 移动端布局方案 1.1 百分比布局(流式布局) 百分比布局是一种等比例缩放的布局方式,也是移动Web开发中比较常见的布局方式。在CSS代码中需要使用百分比来设置盒子的宽高。...因为市面上的手机宽度比并不是一定的,千万别按照宽度来计算高度的百分比,而是应该按照高度来计算,其他参照参考以上表格 1.2 弹性布局 弹性盒布局是 CSS3 中的一种新布局模式,可以轻松地创建响应式网站布局...rem是 CSS 3 中新增的一种相对长度单位。当使用 rem 单位时,根节点 的字体大小(font-size)决定了rem的尺寸。...开发计算量小,参照系单一 rem 适配布局缺点 不是纯 CSS 移动适配方案,需要引入js脚本,在头部内嵌一段 js脚本,监听分辨率的变化来动态改变根元素的字体大小,css样式和 js 代码有一定 耦合性...,将图片宽度设置为包含元素宽度的 50% 因为 CSS 允许内容溢出容器, 需要使用 max-width: 100% 来保证图像及其他内容不会溢出 维护自适应页面中图片宽高比固定比较常用的方法是使用 padding
我在查看这个页面的时候,发现页面块在小尺寸下存在一些不美观的情况。...比方说下面这个区域内容,原本正常显示是这样的:但当我把窗口宽度缩小后,出现了 icon 图标掉下来的情况,时间和icon挤压在了一起,看着很不美观。...为了解决这个问题,我研究了一下,找到了比较好的解决方案。解决方案我的思路其实很简单,就是当容器盒子宽度不够的时候,隐藏icon图标,只显示必要的文字和数字。这样对小尺寸的屏幕或者窗口来说,会比较友好。...方案一:媒体查询可以设置当前窗口,小于一个固定尺寸宽度的时候,比方说 1200px,则隐藏子元素。...使用媒体查询可以快速解决大多数简单问题,而使用ResizeObserver API则可以实现更精确的控制,特别是在需要针对单个元素进行尺寸监控时。
背景 鼠标拖拽元素移动,算是一个稍微有点点复杂的交互。 而在本文,我们就将打破常规,向大家介绍一种超强的仅仅使用纯 CSS 就能够实现的鼠标点击拖拽效果。...在之前的这篇文章中 -- 不可思议的纯 CSS 实现鼠标跟随,我们介绍了非常多有意思的纯 CSS 的鼠标跟随效果,像是这样: 但是,可以看到,上面的效果中,元素的移动不是很丝滑。...如果你了解上述的实现方式,就会知道它存在比较大的局限性。 本文,我们还是仅仅通过 CSS,来实现一种丝滑的鼠标点击拖动元素移动的效果。 鼠标点击拖拽跟随效果 OK,什么意思呢?...这个效果完全就不像是纯 CSS 能够完成的。 答案必然是可以的!整个过程也非常之巧妙,这里我们核心需要利用强大的 resize 属性。以及,配合通过构建一种巧妙的布局,去解决可能会遇到的各种难题。...使用 resize,构建可拖拽改变大小的元素 首先,我们利用 resize 属性来实现一个可改变大小的元素。 什么是 resize 呢?
这种方法的缺陷在于兼容性不行,IOS 系统需要8及以上的版本,安卓系统则直接不兼容。思路二:伪元素先放大后缩小这个方法的可行性会更高,兼容性也更好。唯一的缺点是代码会变多。...接着借助 CSS 动画特效中的放缩能力,把整个伪元素缩小为原来的 50%。...此时,伪元素的宽高刚好可以和原有的目标元素对齐,而 border 也缩小为了 1px 的二分之一,间接地实现了 0.5px 的效果。...(2)百分比(%),当浏览器的宽度或者高度发生变化时,通过百分比单位可以使得浏览器中的组件的宽和高随着浏览器的变化而变化,从而实现响应式的效果。一般认为子元素的百分比相对于直接父元素。...作用:利用rem可以实现简单的响应式布局,可以利用html元素中字体的大小与屏幕间的比值来设置font-size的值,以此实现当屏幕分辨率变化时让元素也随之变化。
CSS 可以通过两种方式来实现: background-attachment 和 transform:translate3D 从广义上讲,有两种方法可以使用 CSS 实现视差效果。...z>0 的三维元素比正常大,而 z比正常小,大小程度由该属性的值决定。 元素涉及 3d 变换时,perspective可以让我们眼睛看到 3d 立体效果,有空间感。...遗憾的是,仍然没有一种简单的方法可以让一个元素在不依赖javascript的情况下占据整个视口高度。 height: 100vh 是如此接近伟大,但考虑到它在移动设备上的局限性,最好避免它。...使用雪碧图的目的: 有时为了美观,我们会使用一张图片来代替一些小图标, 但是一个网页可能有很多很多的小图标, 浏览器在显示页面的时候,就需要像服务器发送很多次访问请求,这样一来, 一是造成资源浪费, 二是会导致访问速度变慢...这时候,把很多小图片(需要使用的小图标)放在一张图片上,按照一定的距离隔开, 就解决了上述的两个问题。 显示雪碧图的条件: 1. 一个设置好宽和高的容器 2.
设备独立像素(dp,density-independent pixel) 设备独立像素(也叫密度无关像素),可以认为是计算机坐标系统中得一个点,这个点代表一个可以由程序使用的虚拟像素(比如: css像素...rem(font size of the root element)是指相对于根元素(html)的字体大小的单位。是CSS3新增的一种单位,移动端基本都支持。...可以通过JS来实现媒体查询的功能。...这里通过transform: scaleY(.5)缩小0.5倍来达到0.5px的效果,但是这样hack实在是不够通用(如:圆角等),与这个元素相关的其他属性也要跟着调整,写起来实在麻烦。...有没有别的方法?有! 第二种:整体缩放 思路是这样的,1倍图渲染1倍图的界面,2倍图渲染高清屏的界面,以此类推,然后再统一缩小倍数到设备界面上,完美!
答案当然是可以,XBoxYan 大佬在 CSS 实现超过固定高度后出现展开折叠按钮 介绍了一种非常巧妙的借助浮动的解法,十分有意思,感兴趣的同学可以先行一步了解。...当然,浮动 float 在现如今的 CSS 世界,运用的已经非常少了。那么除了浮动,还有没有其它有意思的解法?本文我们将一起来探究探究。...方法一:借助最新的容器查询 第一种方法,非常简单,但是对兼容性有所要求。那就是使用容器查询 -- @container 语法。 容器查询在 新时代布局新特性 -- 容器查询 也详细介绍过。....g-content 添加了 resize: vertical,让它变成了一个可以在竖直方向上通过拖动改变高度的容器,以模拟容器在不同内容的场景下,高度不一致的问题: 我们通过元素的伪元素实现了箭头...我们可以清楚的看到,当我们往下拖动容器变高的时候,箭头元素是逐渐慢慢向上出现,而不是突然在某一个高度下,直接出现,所以在实际使用中,会出现这种 ICON 只出现了一半的尴尬场景: 但是,莫慌!
但前一个项目做完之后我发现bootstrap虽好,但里面的各种样式我利用的很少,最多用到它排版,当网站最后上传的时候你会发现,即使压缩之后,它也会占用相当大的一部分,所以这次我想自己用原生写,响应式开发...(我现在知道的尚浅)目前我了解有 1.百分比法: 顾名思义,页面的元素的margin,padding,width,height,等等都用%来计算,CSS中的百分比中的百指的是什么,指的是父元素,所有百分比都是这样的...所以body默认宽度是屏幕宽度 (PC中指的是浏览器宽度)子孙元素按百分比定位(或指定尺寸)就可以了,这只适合布局简单的页面,复杂的页面实现很困难。...那就要用到js在页面加载时获取window的宽度(浏览器窗口的宽度)$(window).width();在开发手机页面的时候,一般我们设置最大宽度为640px,因为640px可以保证在至今最宽的手机上显示时网页两端刚好贴合屏幕...} 注意这里有一个小坑,当你把这个小demo拿到谷歌浏览器里面验证的时候,你会发现开始这3个div会随着你浏览器窗口缩小而缩小,到达某个值后就不动了,原因是谷歌浏览器默认支持html
,我们就按照固定的尺寸来,这样导致的结果就是展示上无问题,小屏幕上就会出现滚动条,大屏幕上就会有过多的留白,屏幕的利用率不高 Pasted image 20230605151617.png 在早期的时候...: 0 auto; } 弹性布局其实就是根据浏览器窗口的大小更改大小,使用相对值(百分比、rem、em、vh、vw等)来进行,flex grid也属于自适应布局方式,另外max-width/min-width...float进行多列布局,但是出现css3之后,现在我们通常使用flex、grid等现代的方式进行,本质是通过参照容器的空间大小,缩小或者放大每个元素分布的空间,达到动态平衡,更改flex-grow以及flex-shrink...的值,达到预期的效果 而grid是一种二维的方式进行布局,这两者都可以达到动态更改元素所占空间大小的方式,然后再通过一些相对单位进行内容的填充,常用的一些相对单位 1vw - 窗口宽度的1%,当窗口宽度减小的时候...,并且布局的改动在grid的加成下变得异常简单明了 其实最本质的内容就是对不同的屏幕加载不同的css样式,你也可以使用媒体查询的方式加载css样式 <link rel="stylesheet" type
为其正名 我们都使用过CSS得外边距,但是当谈到负边距的时候,我们好像往差的方向发展啦。在网页设计中负边距的使用出现了两种极端,一种特别喜欢它,也有一些人认为这完全就是魔鬼的作品。...所有的元素会完美的对齐好。使用负边距会比使用相对定位好很多,因为你只需要给新的一列的第一个元素添加负边距即可。酷吧,哈哈哈 重叠来强调 ? 故意重叠元素也是一种很好地设计隐喻。...重叠效果可以增强深度感从而为突出特定元素。一个很好地例子就像上图一样,通过重叠来吸引注意力。只需要使用z-index属性和一点小创意你就可以做到。 惊艳的3D文本效果 ? 这是一个精致的技巧。...解决bug 文本和链接问题 在float中使用负边距可能会在旧的浏览器造成一些问题,比如下面的这些: 让链接不可点击 文本变得很难选择 失去焦点的时候按tab键失效 解决方法:只要添加position:...图片被剪切啦 如果你运气不好刚好在办公室使用IE6,当遇到覆盖和浮动的时候内容有些时候回突然被剪切掉。 解决方法:同样的只要给浮动元素加上position:relative,所有的问题就解决啦。
有的,CSS的强大功能就可以帮助实现 二、放大预览效果 放大一个我之前刷题小程序的图片 为了考PMP,我做了一个刷题小程序 ?...四、详细讲解 cursor 值 描述 url 需使用的自定义光标的 URL。 注释:请在此列表的末端始终定义一种普通的光标,以防没有由 URL 定义的可用光标。...指定transition效果的转速曲线 transition-delay 定义transition效果开始的时候 transform transform: none|transform-functions...matrix(n,n,n,n,n,n) 定义 2D 转换,使用六个值的矩阵。...scaleX(x) 通过设置 X 轴的值来定义缩放转换。 scaleY(y) 通过设置 Y 轴的值来定义缩放转换。 scaleZ(z) 通过设置 Z 轴的值来定义 3D 缩放转换。
属性 描述 accesskey 提供了一种使用快捷键访问当前元素的途径 class 为元素设置类标识,多个类名用空格分开,class允许css和javascript通过class选择器或者类似下面的DOM...方法来选择和访问element contenteditable 指定元素内容是否可编辑 contextmenu 自定义鼠标右键弹出菜单内容 data-* 为元素增加自定义属性 dir 设置元素文本方向...样式上会导致元素不显示,但是不能用这个属性实现样式效果 id 唯一的标识,它在整个document里应该是唯一的。当需要链接(使用片段标识符,锚点),执行脚本,控制样式时,可以用它来定位识别元素。...(2)初始化样式会对SEO有一定的影响,但鱼和熊掌不可兼得,力求影响最小的情况下初始化CSS样式。 十八、CSS合并方法 (1)避免使用@import引入多个CSS文件。...(2)可以使用CSS工具将CSS合并为一个CSS文件,例如使用 Sass、Compass 等。 十九、CSS Sprite 1. 概念 将多个小图片拼接到一个图片中。
基于跨窗口通信的弹弹球: 基于跨窗口通信的 Flippy Bird: 我也尝试制作了一个跨 Tab 窗口的 CSS 动画联动,效果如下: 代码不多,核心代码 200 行,感兴趣的可以戳这里:Github...当然,本文我们探讨的是纯前端的跨 Tab 页面通信,在非纯前端的方式下,我们可以借助诸如 Web Socket 等方式,藉由后端这个中间载体,进行跨页面通信。...发送消息:通过 BroadcastChannel 对象的 postMessage() 方法,可以向频道中的所有窗口发送消息。...同理,我们来看看基于 Worker 的数据传输效果,同样是简化 DEMO,当 Resize 窗口时,向另外一个窗口发送当前窗口下 #j-main 元素的坐标: 可以看到,如果我们同时打开两个一个的页面,...譬如这个: 多标签页数据同步:当用户在一个标签页上进行了操作,希望其他标签页上的数据也能实时更新时,可以使用跨 Tab 通信来实现数据同步,保持用户在不同标签页上看到的数据一致性。
领取专属 10元无门槛券
手把手带您无忧上云