前端开发过程中,尺寸单位是我们必须用到的,下面我们对css中常见的几种尺寸单位px,em,rem,rpx进行逐一介绍 在这之前,需要先对几个概念进行普及介绍
REM 代表 font size of the Root element,即 Root EM。REM 是值/数据类型长度的值。长度的另外一个值是我们老朋友 - 像素 px。每个接受长度作为值的属性都接受 REM 值。比如:margin, padding, font-size 等。
当网页打开后,用户还可以缩放网页,CSS 还需要适应新的限制。即不能在刚创建网页时就应用样式,而是等到要将网页渲染到屏幕上时,才能去计算样式。这给 CSS 增加了一个抽象层。我们无法根据理想的条件给元素添加样式,而是要设置无论元素处于任意条件,都能够生效的规则。
之前做移动端开发的时候,都是用rem对DOM元素进行大小设置的。每次用的时候都是去网上搜,然后copy到自己的项目中,没有真正理解网友的代码含义。这次终于认真的学习了一下。
无论是哪种盒子模型,子元素相对于父元素content定位。 改变盒子模型的属性为 box-sizing: border-box/content-box;。
在Safari浏览器下(此Safari浏览器包括iOS的Safari,iPhone上的微信浏览器,以及Mac OS X系统的Safari浏览器),当我们使用3D transform变换的时候,如果祖先元素没有overflow:hidden/scroll/auto等限制,则会直接忽略自身和其他元素的z-index层叠顺序设置,而直接使用真实世界的3D视角进行渲染。例如下面的场景,图中红框里面的模块,使用 3D transform变换,进行旋转动画,但是在Safari浏览器下,忽略了二维码遮罩层的z-index,结果使用了真实世界的3D视角进行渲染。出现了重叠的bug:
简要介绍:前端开发中,静态网页通常需要适应不同分辨率的设备,常用的自适应解决方案包括媒体查询、百分比、rem和vw/vh等。本文从px单位出发,分析了px在移动端布局中的不足,接着介绍了几种不同的自适应解决方案。
rem和em很容易混淆,其实两个都是css的单位,并且也都是相对单位,现有的em,css3才引入的rem,在介绍rem之前,我们先来了解下em。
CSS提供了很多种方式去定义一个值。大家最熟悉的可能也是最容易使用的就是像素(pixel),这被称做“绝对单位”。也就是说,5px在不同的场景下是一样的值。而其他的单位,如em和rem,不是绝对的而是相对的。相对单位的值会根据外部影响因素的变化而变化。例如,2em的值取决于你在哪个元素使用它(有时甚至是哪个属性)。很自然,相对单位使用起来会比较困难。
CSS的长度单位主要有%、px、in、cm、ch、mm、ex、pt、pc、em、rem、vw、vh、vmin、vmax,按照单位的计算方式大致可以分为绝对长度单位、相对长度单位、百分比单位。
最近做了一些响应式的页面,遇到了一些问题,想了些解决方法,在这里总结一下。目前响应式的主流实现方式是百分比布局,加上媒体查询@media screen。关于媒体查询还有媒体查询的一些兼容性问题,网上介绍的很多
(2)盒模型:内容(content)、填充(padding)、边界(margin)、边框(border);
CSS布局 确定页面的大致结构,页面分多少块,每块的位置。每个部分怎么把该部分撑起来。 * 早期以table为主(简单) * 之后 以技巧性的布局为主(难) * 现在有flexbox/grid(偏简单) * 响应式布局 在移动端大行其道的时代 是必备的 * table表格布局 * float浮动 + margin * inline-block布局 (用起来方便,但是小问题较多) * flexbox布局 盒模型 如下图所示: 宽度和高度 指的是content的宽度和高度 margin指的是 距离上一个元素
因为浏览器的兼容问题,不同浏览器对有些标签的默认值是不同的,如果没对CSS初始化往往会出现浏览器之间的页面显示差异
本篇文章主要分享 CSS 与 JavaScript 基础面试题。CSS 和 JavaScript 都是前端基础知识,是前端学习中一定要学的内容,也是前端面试中必不可少的内容。
本次我把CSS中的重难点整理出来,总共54个核心知识点,供大家复习,希望能帮到大家。这些重难点是进阶高薪必需要掌握的知识点,同时也是面试必问的内容。
我们可以将这个单位用于边距和填充,因为它可以让我们根据元素的字体大小在框周围使用灵活的间距。元素 font-size 会根据设备大小而变化,因此元素周围的间距也将分别发生变化。
对于移动端开发而言,为了做到页面高清的效果,视觉稿的规范往往会遵循以下两点: 1.首先,选取一款手机的屏幕宽高作为基准(现在一般选取iphone6的375×667)。之前项目中也用到过iphone5的320×568。 2.对于retina屏幕(如: dpr=2),为了达到高清效果,视觉稿的画布大小会是基准的2倍,也就是说像素点个数是原来的4倍(对iphone6而言:原先的375×667,就会变成750×1334)。
display:none使用后,元素的宽度,高度都会丢失,视为不存在不加载;元素原来占据的空间位置不保留;产生回流和重绘;
当使用多个值时,font-family 属性值字体列表定义浏览器应选择字体系列的优先级。 浏览器将在用户的计算机或者任何 @font-face 资源中查找每个字体。 所使用的字体优先级按从左到右的排序: 如果可用,它将使用第一个值,否则跳到下一个值,直到最后。默认字体系列由浏览器首选项定义。 在上面的示例中,浏览器将首先尝试使用 Source Sans Pro。如果不可用,它会尝试使用 Arial。如果也不可用,它将使用浏览器的 sans-serif 字体族中的可用字体。
公司内部有一款企业社交产品share,近期打算开发手机版,初期规划是通过webapp的方式嵌入到另一款即时通信native app。之前团队还未接触过手机应用的页面重构工作,这次由我打头炮,搭建这款webapp的基本页面样式框架。
应用象EM 和 REM这种相对长度单位进行页面排版是WEB开发中的最佳实践。在页面排版中较好应用EM 和 REM,根据设备尺寸缩放显示元素的大小。这就使得组件在不同设备上都达到最佳的显示效果成为可能。
说起CSS单位,我们最熟悉的可能就是像素单位(px),它是一个绝对单位,也就是说一个10px的文字,放在哪里都是一样大的。单位可以影响颜色、距离、尺寸等一系列的属性。CSS中单位的形式有很多种,下面就分别来看看这些单位。
说到前端页面的布局方案,可以从远古时代的Table布局说起,然后来到 DIV+CSS布局,之后有了Float布局,Flex布局,Column布局,Grid布局等等。
随着互联网的不断发展,越来越多的人开始依赖于网络,如何让网站更加易于访问、易于阅读是一个至关重要的问题。本文将从多个方面介绍如何使用CSS来提升网站的可访问性。
元素就是标签,布局中常用的有三种标签,块元素、内联元素、内联块元素,了解这三种元素的特性,才能熟练的进行页面布局。
代码部署后可能存在的BUG没法实时知道,事后为了解决这些BUG,花了大量的时间进行log 调试,这边顺便给大家推荐一个好用的BUG监控工具 Fundebug。
1.1 顶线,中线,基线和底线 : 直接见下图。inline-block和inline都可以有这四种线。其中,我们重点研究基线,即base line。基线并不是汉字文字的下端沿,而是英文字母“x”的下端沿。 1.2 行高: 即line-height,是指同一个元素中,两个文本行基线间的垂直距离。
标准盒子模型:宽度=内容的宽度(content)+ border + padding + margin
5.在网页中,HTML决定结构和内容,CSS设定网页的表现样式,JavaScript控制网页的行为。
对BFC规范(块级格式化上下文:block formatting context)的理解?
这个问题困扰了我好久,在PC上我们惯用的px单位在手机上根本不适用,即使我们写了<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, minimal-ui"/>防止网页自动缩放也无济于事,因为各手机分辨率大小不同。
ID选择器:针对某一个特定的标签来使用,只能使用一次。css中的ID选择器以 # 来定义
link rel=”stylesheet” href=”文件名” margin:0px auto;(块级元素居中)和width:的组合 写2个数:第一个代表上下,第二个代表左右 写3个数:第一个代表上,第二个代表左右,第三个下 写4个数:上,右,下,左 text-align:center;(行级元素居中) list-style:none (去除符号) clear:both(去除浮动) overflow:hidden;(超过大小就不显示) overflow:scroll 滚动条 border:none;outline:none;去除按钮边框
HTML 中的元素、属性及属性值都拥有某种含义,如有序列表用 ol,无序列表用 ul.
em 和 rem这种相对长度单位进行页面排版是web开发中的最好的选择。在页面排版中较好应用em 和 rem,根据设备尺寸缩放显示元素的大小。这就使得组件在不同设备上都达到最佳的显示效果成为可能。
之前遇到 css 中需要使用单位的情况,都草草用 px 或者百分比糊弄过去,导致当需要做一个响应式的页面的时候,要重新补一下 css 单位的技术债。
background:bg-color bg-image bg-repeat bg-attachment bg-position/bg-size;
快来免费体验ChatGpt plus版本的,我们出的钱 体验地址:https://chat.waixingyun.cn 可以加入网站底部技术群,一起找bug,另外新版作图神器已上线 https://cube.waixingyun.cn/home
(注1:如果有问题欢迎留言探讨,一起学习!转载请注明出处,喜欢可以点个赞哦!) (注2:更多内容请查看我的目录。)
css基本语法及页面引用 css基本语法 css的定义方法是: 选择器 { 属性:值; 属性:值; 属性:值;} 选择器是将样式和页面元素关联起来的名称,属性是希望设置的样式属性每个属性有一个或多个值。代码示例: div{ width:100px; height:100px; color:red } css页面引入方法: 1、外联式:通过link标签,链接到外部样式表到页面中。 <link rel="stylesheet" type="text/css" href="css/main.css"> 2、嵌入式
从最开始学习CSS的时候,就了解了盒模型的概念,今天,我们从其中的box-sizing:border-box;的属性入手,来重新认识一下盒模型在实际项目中的运用。
改变transform或opacity不会触发浏览器重新布局(reflow)或重绘(repaint),只会触发复合(compositions)。
在之前的文章中,我们知道对于繁杂的网页内容,我们可以通过引用内部样式来完成集体修改。
在移动端viewport视口(pc端没有这个概念)就是浏览器显示页面内容的屏幕区域。
移动端适配最简单的是通过js动态计算 viewport 的缩放值,但过于粗暴,会导致页面图片文字失真模糊。目前,移动端页面一般使用 rem 或 vw / vh 开发会较为方便,下面以 rem 为例:
本文由Tom Hodgins审阅。感谢SitePointer的编审们,帮助SitePoint提供最优质的内容给读者!
text-shadow 为网页字体添加阴影,通过对text-shadow属性设置相关的属性值。
领取专属 10元无门槛券
手把手带您无忧上云