首页 > 其他分享 >2025年前端面试准备css篇

2025年前端面试准备css篇

时间:2024-11-19 22:08:19浏览次数:1  
标签:定位 scale 面试 元素 2025 width 选择器 css

1.css 盒子模型   css包含了内容(content) ,内边距(padding),边框(border),外边距(margin) 等因素。   css 标准盒子模型宽包括:margin+border+padding+width   IE盒子模型的宽包括:border+padding+width   2.css 选择器优先级   id 选择器: #main{} class选择器:.main{} 元素选择器:div 子选择器ul>li{} 后代选择器:div p{}   伪类选择器::hover,::selection,.action,:first-child,:last-child,:first-of-type,:last-of-type,:nth-of-type(n),:nth-of-last-type(n)   伪元素选择器: after,:before,属性选择器:input[tupe="text"]   选择器的优先级:!important->style属性写在元素标签上的内联系样式->id选择器->类选择器->伪类选择器->   属性选择器->通配符选择器(*)->浏览器选择器。   3.css 几种定位的的规则   static定位普通流定位(默认定位)。   float浮动定位脱离文档流,父元素的高度不能有它撑开。   relative相对定位,相对元素的左上上角进行定位,位置可能会移动,但是没有脱离文档流。   absolute绝对定位,相对于父元素中有relative并且离本元素层级最近的元素的左上角进行定位,如果父带元素中没有relative定位就默认相对body进行定位。   fixed固定定位:相对于浏览器窗口进行定位,无论滚动条滚动到哪里,都会固定到屏幕的指定位置。   sticky粘性定位:根据用户的滚动位置在相对和固定定位之间切换。   4.水平垂直居中的方案   行内元素水平居中:需要判断父元素是否是块级元素,如果是块级元素需要将父元素设置为text-align:center.   块级元素水平居中(指定宽度):给当前元素设置为margin:0 auto;或者父元素为相对地位 子元素设置为绝对定位 设置子元素的   margin-left:为元素宽度的一半或者设置 transform:translateX(-50%)。   块级元素水平居中(不指定宽度):需要设置子元素为display:inline-block,给父元素元素设置 text-align:center;   flexbox布局:给父元素设置添加属性 display:flex;justify-content:center;   grid布局:给父元素设置 display:grid;place-items:center;   5.css中常用的函数

分类 函数
属性函数 attr()
背景图片函数 linear-gradient()、radial-gradient()、conic-gradient()、repeating-linear-gradient()、repeating-radial-gradient()、repeating-conic-gradient()、image-set()、image()、url()、element();
 颜色函数 rgb()、rgba()、hsl()、hsla()、hwb()、color-mod();
图形函数 circle()、ellipse()、inset()、polygon()、path() 
滤镜函数 blur()、brightness()、contrast()、drop-shadow()、grayscale()、hue-rotate()、invert()、opacity()、saturate()、sepia();  
转换函数 matrix()、matrix3d()、perspective()、rotate()、rotate3d()、rotateX()、rotateY()、rotateZ()、scale()、scale3d()、scaleX()、scaleY()、scaleZ()、skew()、skewX()、skewY()、translate()、translateX()、translateY()、translateZ()、translate3d();
数学函数 calc()、min()、max()、mixmax()、repeat()
缓动函数 cubic-bezier()、steps();
其他函数 counter()、counters()、toggle()、var()、 symbols()
  6.1px 问题的解决   设置 viewport 的 scale 值
<meta name="viewport" content="initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no" />
  let viewport = document.querySelector("meta[name=viewport]");
  //根据设备像素设置viewport
  if (window.devicePixelRatio == 1) { 
      viewport.setAttribute("content",    "width=device-width,initial-scale=1, maximum-scale=1, minimum-scale=1, 
    user-scalable=no"  );
  }
  if (window.devicePixelRatio == 2) {  
    viewport.setAttribute("content",    "width=device-width,initial-scale=0.5, maximum-scale=0.5, 
    minimum-scale=0.5, user-scalable=no"  );
  }
  if (window.devicePixelRatio == 3) {  
    viewport.setAttribute("content", "width=device-width,initial-scale=0.3333333333333333,
    maximum-scale=0.3333333333333333, minimum-scale=0.3333333333333333, user-scalable=no"  );
  }
  var docEl = document.documentElement;
  var fontsize = 32 * (docEl.clientWidth / 750) + "px";
  docEl.style.fontSize = fontsize;

  利用伪元素

  // 1条border
  div {  
    position: relative;
    &::after {   
       position: absolute;    
      content: "";    
       background-color: red;    
      top: 0;    
      left: 0;    
       width: 100%;    
       height: 1px;    
      transform: scale(1, 0.5);  
    }
  }

  直接写0.5px

 div {
      border-top: 0.5px solid red;
  }

 

7.css 常见单位   px: 物理像素,是相对于显示器分辨率的   em,rem:em 是相对于父元素的,rem 相对于根元素html   vw,vh: 和浏览器大小有关的单位,他们的参照对象都是浏览器窗口。   vw 浏览器窗口宽度的百分比:假设浏览器宽度1000px则 1vw=浏览器宽度的1%=10px   %:是相对于父元素的,当浏览器的宽度和高改变时,当全元素也会跟着发生变化。   8.link 和@import 的区别   link 引入css 的时候,在页面加入的时候同时加载,@import需要页面完全加载完成后加载。   link 是xhtml 标签,无兼容性问题,@import 低版本浏览器不支持。   9.隐藏元素的方法有哪些   display:none; visibility:hidden;元素在页面中仍占位置,但是不影响绑定的监听事件。   opacity:0; 将元素的透明度设置为0,元素在页面中仍占位置,会影响绑定的坚挺事件。   position:absolute; 通过绝对定位将元素移除可视区域内。z-index:负值、   transform:scale(0,0) 将元素缩为0来实现元素的隐藏,元素在页面中仍占位置。

  

        

标签:定位,scale,面试,元素,2025,width,选择器,css
From: https://www.cnblogs.com/nmxs/p/18549614

相关文章

  • Java面试之多线程&并发篇(6)
    前言本来想着给自己放松一下,刷刷博客,突然被几道面试题难倒!产生死锁的四个必要条件?如何避免死锁?线程池核心线程数怎么设置呢?Java线程池中队列常用类型有哪些?似乎有点模糊了,那就大概看一下面试题吧。好记性不如烂键盘***12万字的java面试题整理******java核心面试知识整理***......
  • 【前端基础】1.CSS文件的加载和解析顺序
    HTML中,使用<link>标签先后加载两个CSS文件,其加载和解析顺序主要遵循以下规则:      CSS文件的加载与解析在现代浏览器中是边加载边解析的过程,而不是等所有CSS文件加载完毕后再进行解析。1.加载顺序:CSS文件按照<link>标签在HTML中的书写顺序加载。......
  • 【面试经验】美团 前端开发 秋招正式批 共三面凉经
    部门:金融服务(貌似是支付相关)时间:笔试完三天约面一面:实习及项目相关了解微前端吗微前端怎么匹配子应用qiankun框架和其它微前端框架隔离策略的不同之处qiankun为什么要求子应用打包是umd格式umd、CommonJS、ESModules有什么区别reactfiber原理react18有什么更新......
  • 【面试经验】eBay 前端日常实习
    #软件开发笔面经#1.自我介绍2.你是怎么学前端的?3.自己挑一个简历上的项目来介绍4.聊团队开发,功能设计,部署上线5.项目最核心的一个用户流程是怎么样的?6.聊市面上的竞品项目,发现哪些问题,可以如何去优化7.用英文问两个问题,要求用英文回答(听不懂)----第二......
  • 2025最新-计算机毕业设计Java基于kubenetes的OpenStack私有云平台部署
    一、项目介绍  基于K8S的opoenstack私有云平台的监测系统通过对Web应用服务器运行情况的分析统计系统的建设以实现服务器运行数据监控与分析功能。私有云平台是web应用正常运行的核心,为了确保这些网站的稳定运行,势必需要做好对网站服务器的监控。做好对服务器运行的各......
  • 20222408 2024-2025-1 《网络与系统攻防技术》实验五实验报告
    1.实验内容1.1实验要求(1)选择一个DNS域名进行查询,获取如下信息:DNS注册人及联系方式、该域名对应IP地址、IP地址注册人及联系方式、IP地址所在国家、城市和具体地理位置。(2)尝试获取QQ中某一好友的IP地址,并查询获取该好友所在的具体地理位置。(3)使用nmap开源软件对靶机环境进行扫......
  • 面试题--Java反射
    目录获得一个类的class对象有哪些方式?1.使用.class属性:2.使用Class.forName方法:3.通过实例的getClass方法:4.通过类加载器:5.通过数组的getClass方法:6.通过Thread.currentThread().getContextClassLoader().loadClass:7.通过Method、Constructor等类的getDeclaringClass和getReturnT......
  • 20222315 2024-2025-1 《网络与系统攻防技术》实验五实验报告
    1、实验内容1)从www.besti.edu.cn、baidu.com、sina.com.cn中选择一个DNS域名进行查询,获取如下信息:DNS注册人及联系方式该域名对应IP地址IP地址注册人及联系方式IP地址所在国家、城市和具体地理位置PS:使用whois、dig、nslookup、traceroute、以及各类在线和离线工具进行搜集......
  • 20222322 2024-2025-1 《网络与系统攻防技术》实验六实验报告
    1.实验内容掌握使用Metasploit和nmap等工具进行前期渗透的方法,并利用四种特定的漏洞对靶机进行攻击。(1)掌握Metasploit和nmap的用法学习并熟悉Metasploit框架的基本操作,包括模块搜索(Search)、使用(Use)、展示选项(Show)、设置参数(Set)以及执行攻击(Exploit/run)的流程。(2)学习前期渗透的......
  • 20222303 2024-2025-1 《网络与系统攻防技术》实验五实验报告
    1.实验内容对网站进行DNS域名查询,包括注册人、IP地址等信息,还通过相关命令查询IP地址注册人及地理位置。尝试获取QQ好友IP地址并查询其地理位置。使用nmap对靶机环境扫描,获取靶机IP活跃状态、开放端口、操作系统版本、安装服务等信息。使用Nessus对靶机环境扫......