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

布局常用解决方案对比(媒体查询、百分比、rem和vwvh)

在pc端,通常认为css中,1px所表示真实长度是固定。 那么,px真的是一个设备无关,跟长度单位米和分米一样是固定大小吗?...我们在js或者css代码中使用px单位就是指的是css像素,物理像素也称设备像素,只与设备或者说硬件有关,同样尺寸屏幕,设备密度越高,物理像素也就越多。...使用@media媒体查询可以针对不同媒体类型定义不同样式,特别是响应式页面,可以针对不同屏幕大小,编写多套样式,从而达到自适应效果。...展示效果为: image.png (3)padding 子元素padding如果设置百分比,不论是垂直方向或者是水平方向,都相对于直接父亲元素width,而与父元素height无关。...,最后在header标签中执行这段代码,就可以动态定义font-size大小,从而1rem在不同视觉容器中表示不同大小,用rem固定单位可以实现不同容器布局自适应。

1.8K40

浅谈web自适应

随着移动设备普及,移动web在前端工程师们工作中占有越来越重要位置。移动设备更新速度频繁,手机厂商繁多,导致问题是每一台机器屏幕宽度和分辨率不一样。...而子元素由于采用了浮动,那么它们位置也会固定在两端。该宽度自适应在新时代有了新方法,随着弹性布局普及,它经常被flex或者box这样伸缩性布局方式替代,变得越来越“弹性”十足。...所以,这时div高度就是20px,宽度是30px,边框是1px,字体大小则是10px;一旦有了这样方法,我们自然可以根据不同屏幕宽度设置不同根节点字体大小。...当然,如果是移动设备,屏幕会有一个上下限制,我们可以控制分辨率在某个范围,超过了该范围,我们就不再增加根元素字体大小了: var deviceWidth = document.documentElement.clientWidth...总结 不管哪一种自适应方式,我们目的是使得开发网页在各种屏幕下变得好看:如果你项目定位用户群仅仅是使用某种机型的人,那么可以采用第一种自适应方式。

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

浅谈Web自适应

前言 随着移动设备普及,移动web在前端工程师们工作中占有越来越重要位置。移动设备更新速度频繁,手机厂商繁多,导致问题是每一台机器屏幕宽度和分辨率不一样。...而子元素由于采用了浮动,那么它们位置也会固定在两端。该宽度自适应在新时代有了新方法,随着弹性布局普及,它经常被flex或者box这样伸缩性布局方式替代,变得越来越“弹性”十足。...所以,这时div高度就是20px,宽度是30px,边框是1px,字体大小则是10px;一旦有了这样方法,我们自然可以根据不同屏幕宽度设置不同根节点字体大小。...当然,如果是移动设备,屏幕会有一个上下限制,我们可以控制分辨率在某个范围,超过了该范围,我们就不再增加根元素字体大小了: vardeviceWidth=document.documentElement.clientWidth...总结 不管哪一种自适应方式,我们目的是使得开发网页在各种屏幕下变得好看:如果你项目定位用户群仅仅是使用某种机型的人,那么可以采用第一种自适应方式。

1.5K80

CSS基础布局

CSS布局 确定页面的大致结构,页面分多少块,每块位置。每个部分怎么把该部分撑起来。...* 让页面 在不同设备上 能正常使用 * 主要处理屏幕大小问题(严格来讲 还涉及到 是否有鼠标 是否是读屏软件 是否支持一些样式) * 在具体方法上 涉及到 设计 和 实现 两方面。...留下自适应空间:和两列布局类似,一列固定宽度 另一列随屏幕自适应。 (类似的思路,在屏幕顶部 给logo固定宽度 logo右侧纯色背景 可以自适应)。...布局完成之后 针对不同大小屏幕 给出不同大小字号,那么其它元素就会跟着缩放。...而小数 换算出来 像素 是不精准。所以 使用rem时候 要考虑到不精准情况 要预留一些余地 给不精准情况。对于精确性非常高地方 就不要使用rem来布局了。 CSS面试题 1.

2.9K20

这15个HTMLCSS错误我不信你没犯过(网站规范)

1.使用占位符属性而不是标签元素 我经常看到流行错误是使用占位符属性而不是标签元素。但屏幕阅读器用户在这种情况下无法填充字段,因为屏幕读取器无法从占位符属性读取文本。...他们在添加调整大小时不会考虑:没有表单可访问性变差,用户无法轻松输入数据。 如果您想要限制文本区域大小,您可以使用最小宽度、最大宽度、最小高度和最大高度属性。...例如,汉堡包标记使用div跨度元素。 但这个问题应该用伪元素之前和之后来解决。在这种情况下,HTML看起来更干净。此外,最主要是为屏幕阅读器添加文本,以便用户可以与此按钮进行交互。...⠀ 可以使用此元素上下文:预期流量内容位置以及作为 dl 元素孩子。 流内容是文档和应用程序主体中使用大多数元素。那不是文字 跨度元素是标记文本最佳元素,没有特殊意义。...⠀可以使用此 元素上下文:预期措辞内容位置。 措辞内容是文档文本,以及在段级别标记该文本元素。 因此,只需使用文本跨度,您就会获得有效HTML。

3.2K31

CSS布局(三) 布局模型

流动布局模型具有2个比较典型特征: 第一点,块状元素都会在所处包含元素自上而下按顺序垂直延伸分布,因为在默认状态下,块状元素宽度都为100%。实际上,块状元素都会以行形式占据位置。...相对于以前位置移动,偏移前位置保留不动。在使用相对定位时,就算元素被偏移了,但是他仍然占据着它没偏移前空间。...固定定位 fixed:表示固定定位,与absolute定位类型类似,但它相对移动坐标是视图(屏幕网页窗口)本身。...由于视图本身是固定,它不会随浏览器窗口滚动条滚动而变化,除非你在屏幕中移动浏览器窗口屏幕位置,或改变浏览器窗口显示大小,因此固定定位元素会始终位于浏览器窗口内视图某个位置,不会受文档流动影响...#div1{ position:fixed;     bottom:0;     right:0 }  (始终在屏幕由下端有一个div框,会一直跟着滚动条走) 相对定位可以和绝对定位混着使用 原则是:只要父

2.2K71

CSS | 视差滚动 | 笔记

让我们探索和比较 固定背景位置使用 3D 平移。...形成效果称之为 视差滚动 background-attachment 固定背景位置使用CSS创建视差效果最早方法。...background-attachment: 决定 背景图像位置 是在 视口内固定 ,或者 随着包含它区块滚动 。 它属性值含义如下: 属性值 含义 fixed 背景相对于视口固定。...(200-transformZ值)就是视点和xy平面的距离(初始是屏幕位置,此时transformZ值为0)。 perspective属性用在容器上时,容器每个元素表现形式会不一样。...在上图中,应该在屏幕底部按钮被隐藏了。 更糟糕是,当用户第一次使用手机访问网站时,地址栏会显示在页面顶部, 因此用户体验是很糟糕

54421

CSS常用单位

绝对长度单位 px 像素 通常而言,一个CSS像素代表屏幕设备一个像素点,但是对于高分辨率屏幕而言一个CSS像素往往占多个设备像素,也就是说有多个屏幕像素点来表示1px,1px = 1in / 96。...font-size属性被计算重设为另一个值,在子元素中使用em时需要根据父元素font-size重新计算子元素em值。...htmlfont-size来决定大小,根元素font-size相当于提供了一个基准,当页面的size发生变化时,只需要改变font-size值,那么以rem为固定单位元素大小也会发生相应变化...rem不是只对定义字体大小有用,可以使用rem把整个网格系统或者UI样式库基于HTML根元素字体大小上,这将带来更加可预测字体大小和比例缩放,实现响应式布局。...子元素padding如果设置百分比,不论是垂直方向或者是水平方向,都相对于直接父亲元素width,而与父元素height无关

1.4K20

scrollWidth,clientWidth,offsetWidth区别

) clientWidth 是对象可见宽度,不包滚动条等边线,会随窗口显示大小改变。...offsetWidth 是对象可见宽度,包滚动条等边线,会随窗口显示大小改变。...:silver; position:absolute; top:-5px;”>测试top 上面是一个段落P包含在一个DIV,可以看到Ptop设置为-5px后,它上边距超过了容器...> container.scrollTop = 12; 这一段文本在这个100*100DIV无法完全显示,所以设置了overflow为auto,它会出现一个上下方向滑动框...offsetTop:获取对象相对于版面或由 offsetTop 属性指定父坐标的计算顶端位置 offsetWidth:是对象可见宽度,包滚动条等边线,会随窗口显示大小改变 event.clientX

2K20

面试官:CSS 面试题集锦

特殊之处在于它不用像absolute疯狂“找爸爸”,它天生参照于浏览器窗口!当为对象设置固定定位后,该对象即处于浏览器窗口画面中固定位置,无视文档长短、窗口大小和滚条滚动。...自适应暴露一个问题,如果屏幕太小,即使网页能够根据屏幕大小进行适配,但是会感觉在小屏幕上查看内容太过拥挤。响应式正是针对这个问题衍生出概念。...尽量少使用绝对宽度 3.相对大小字体,字体也不能使用绝对大小(px),只能使用相对大小(em)或者高清方案(rem),rem不局限字体大小,而前面的width也可以使用,代替百分百。...4.流动布局 流动布局是各个区块位置都是浮动,不是固定不变。 float好处是,如果宽度太小,放不下两个元素,后面的元素会自动滚到前面元素下方,不会再水平方向溢出,避免了水平滚动条实现。...高性能CSS3动画 动画中尽量少使用能触发layout和paintCSS属性,使用更低耗transform、opacity等属性 尽量减少或者固定数量,不要在动画过程中创建层 尽量减少层更新(

3.3K30

第213天:12个HTML和CSS必须知道重点难点问题

(不推荐使用) 方法二:使用空元素,如 (.clear{clear:both}) 原理:添加一对空DIV标签,利用cssclear:both属性清除浮动...em 是相对长度单位,相对于当前对象内文本字体尺寸。如当前对行内文本字体尺寸未被人为设置, 则相对于浏览器默认字体尺寸。它会继承父级元素字体大小,因此并不是一个固定值。...rem 是 CSS3 新增一个相对单位(root em,根 em),使用 rem 为元素设定字体大小时,仍然是相对大小, 但相对只是 HTML 根元素。 7.CSS 引入方式有哪些?...8.流式布局与响应式布局区别 流式布局 使用固定像素来定义网页内容,也就是百分比布局,通过盒子宽度设置成百分比来根据屏幕宽度来进 行伸缩,不受固定像素限制,内容向两侧填充。...src是指向外部资源位置,指向内容将会嵌入到文档中当前标签所在位置;在请求src资源时会将其指向资源下载并应用到文档,例如js脚本,img图片和frame等元素。

2.2K20

CSS概要

CSS 基础知识 语法 CSS全称为“层叠样式表 (Cascading Style Sheets)”,它主要是用于定义HTML内容在浏览器显示样式, 如文字大小、颜色、字体加粗等。...使用CSS样式一个好处是通过定义某个样式,可以让不同网页位置 文字有着统一字体、字号或者颜色等。...>(不是在标签)使用标签将css样式文件链接到HTML文件。...fixed:表示固定定位,与absolute定位类型类似,但它相对移动坐标是视图(屏幕网页窗口)本身。...由于视图本身是固定,它不会随浏览器窗口滚动条滚动而变化,除非你在屏幕中移动浏览器窗口屏幕 位置,或改变浏览器窗口显示大小,因此固定定位元素会始终位于浏览器窗口内视图某个位置,不会 受文档流动影响

1.4K50

CSS新特性知识

CSS初学感觉很简单,但随着学习深入才感觉CSS水由多深,平常总会遇到各种坑,先总结一些经常遇到大小写不敏感 虽然我们平时在写CSS时候都是用小写,但其实CSS并不是大小写敏感 .test...不同级别 在属性后面使用 !important 会覆盖页面任何位置定义元素样式。...pt是point(磅)缩写,是一种固定长度度量单位,大小为1/72英寸。...如果在web上使用pt做单位文字,字体大小在不同屏幕(同样分辨率)下一样,这样可能会对排版有影响,但在Word中使用pt相当方便。因为使用Word主要目的都不是为了屏幕浏览,而是输出打印。...rem:rem是CSS新增,em是相对于其父元素来设置字体大小,这样就会存在一个问题,进行任何元素设置,都有可能需要知道他父元素大小,在多次使用时,就会带来无法预知错误风险。

48810

5分钟学习css网格

序言 您将在本文中,简单了解到如何使用网格布局,一种布局有多种实现方式,曾今对于使用弹性盒模型(display:box)以及新flex(display:flex)布局用过的话,对于css Grid...包装是实际网格,项目是网格内容 下面是包含六个项目的包装标记 <!...以下是在屏幕上显示内容 ? 当你们为什么只有3列时候,我们有4条专栏?看看这个图片,我画了黑色列线 ? 请注意,我们现在正在使用网格中所有行。...-- 是grid-column-start和grid-column-end简写属性,通过在其网格布局中提供一行,一个跨度或任何内容(自动)来指定网格项大小位置,网格区域内嵌开始和内嵌结束边缘 -...两个属性设置列宽和行高是多少,又通过grid-column-start与grid-column-end两个属性定位字元素位置和项目的大小,关于网格布局内容很多,自己知道也只是冰山一角,有待挖掘和探索

1.7K20

前端不止:Retina屏幕下两倍图

图像大小 如果你学过《数字图像处理》这门课,那你对下面的解释就是非常熟悉了。 位图是由像素(Pixel)组成,像素是位图最小信息单元,存储在图像栅格中。每个像素都具有特定位置和颜色值。...因为在固定屏幕情况下,提高屏幕分辨率(如上图),图像和文字显示目标会相应缩小,原因是系统并不会自动根据屏幕尺寸和分辨率关系相应调整文字和图标的大小,这是Windows系统自身行为。...以Retina屏幕为例,它并不是像普通显示器那样通过增大尺寸来增加分辨率,而是靠提升屏幕单位面积像素数量,即像素密度来提升分辨率,这样就有了高像素密度屏幕。...Web中像素(CSS像素) CSS像素是一个抽象概念,设备无关像素,简称-“DIPS”,device-independent像素,主要使用在浏览器上,用来精确度量(确定)Web页面上内容。...但是在Retina屏幕下,相同div使用了400x600设备像素,保持相同物理尺寸显示,导致每个像素点实际上有4倍普通像素点。 对于图片来说也是如此: 这个时候,屏幕会怎么处理呢?

2.7K50

10分钟理解CSS3 Grid

布局一般是通过float和百分比宽度实现,这种实现有几种缺点: html不够简洁; 需要清除浮动以避免高度塌陷; 列个数是固定,不能灵活定义。...(2) minmax 上面的例子中我们给了row一个固定高度,这导致一个问题:如果某个grid item中内容特别多,受制于固定高度,部分内容将无法显示,如下图: ?...Grid Line 以上所有例子中,grid中每个grid item都是按默认顺序排列。如果我们想重新布局改变grid item位置大小呢?...当然使用grid area要注意语法严谨,像 "header main header main" 这种写法css是无法解析,用area名称模拟出结构在二维空间上必须是一个整体,因为每个grid item...使用grid area template优点在实现响应式布局时也是显而易见,我们只需要针对不同屏幕尺寸制定不同grid area template就行了。 5.

69920
领券