您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > CSS

你对css中的display了解多少呢

时间:2020-07-10 12:08:08  来源:  作者:

最近本人把工作辞了,在这疫情期间把工作辞了确实是有点冲动,去几家公司面试发现自己的技术还有待提升啊。

下面是我面试的时候面试官问我的一道问题:给img标签加上了display:none后是否还加载图片呢?添加背景图片的标签加上display:none属性是否还加载图片呢?如果给他们的父级元素添加display:none还加载图片吗?

面试的时候,我按照我对浏览器渲染的原理来分析,前面两条答对了,最后一条没有答对,今天赶紧的测试一下,其实里面的原理和基础知识我了解的非常少,失业这段时间确实感觉到自己与大厂的程序员有很大的区别啊!不扯蛋了说回正题吧!

<style>
    .root{
      /* display: none; */
    }
    .bg_img {
      display: none;
      background-image: url(https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1593930759416&di=8009f2b41f4de0b003f603e58ffdce48&imgtype=0&src=http%3A%2F%2Ft8.baidu.com%2Fit%2Fu%3D1484500186%2C1503043093%26fm%3D79%26App%3D86%26f%3DJPEG%3Fw%3D1280%26h%3D853);
    }
    .img{
      display: none;
    }
 <div class="root">
    <img class="img" src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1593930759417&di=cffebc811f829fea4a998cb6e7215868&imgtype=0&src=http%3A%2F%2Ft8.baidu.com%2Fit%2Fu%3D3571592872%2C3353494284%26fm%3D79%26app%3D86%26f%3DJPEG%3Fw%3D1200%26h%3D1290" alt="" srcset="">
    <div class="bg_img"></div>
  </div>

通过测试后发现:

  • img标签无论是自己本身还是父级标签加display:none,在渲染的过程中都会加载图片。
  • 标签的背景图如果本身的加display:none会加载图片,而如果是父级标签有display:none背景图片不加载

这是为什么呢?

我的理解是,浏览在渲染的时候,所有的html标签是在html线程中渲染,当解析到img标签的时候,会把里面的url链接push到网络请求的线程中,而display:none,是在浏览器绘制阶段生效的,但是这个时候图片已经交给网络线程去加载了,所以两个没有关系,最难理解的是背景图片,我在网上找答案没有找到只找到:伪类背景图片只在触发伪类时候才会请求加载(因此建议请求雪碧图---即一堆小图汇总到一张大图上,这样不会有UI跳跃感)。我对这句话不是很理解,什么是伪类背景图?css在绘制阶段是怎么处理链接的?为什么在标签本身上加了display:none,还是会加载图片呢?理解这些的朋友在评论下方帮我解答一下谢谢!

然后我尝试了一下另外一个隐藏属性:visibility: hidden;

这个无论在那里添加图片都进行了加载,这也是我的预料之中,因为这个隐藏会占位置,那么里面的css必定会进行解析了。

我在:berfor和:after伪类里面设置背景图片,果然在标签选择器中设置display:none, 背景图片就不加载,基本符号我的预想。

由于本人的知识有限,有很多问号???,希望大神能给我解惑。



Tags:css display   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
最近本人把工作辞了,在这疫情期间把工作辞了确实是有点冲动,去几家公司面试发现自己的技术还有待提升啊。下面是我面试的时候面试官问我的一道问题:给img标签加上了display:non...【详细内容】
2020-07-10  Tags: css display  点击:(53)  评论:(0)  加入收藏
▌简易百科推荐
Chrome 正在试验 CSS @container 查询器功能,这是由 Oddbird 的 Miriam Suzanne 和一群网络平台开发者支持的 CSS 工作组 Containment Level 3 规范。@container 查询器使我...【详细内容】
2021-12-23  前端晚间课    Tags: CSS   点击:(8)  评论:(0)  加入收藏
CSS选择器很强大下面是我在工作中使用最多的一些选择器:相邻元素, 英文称为sibling, 也就是兄弟姐妹的意思.其实很形象, 比喻两个dom是相邻的.但是邻居很多, 紧密相邻的, 还...【详细内容】
2021-12-23  不只是个小前端    Tags:CSS选择器   点击:(6)  评论:(0)  加入收藏
这篇文章重点介绍一些强大的 CSS 代码片段,用它们可以执行一些繁重的布局编程工作,还能帮助我们构建强大的新式CSS布局。这里我们会介绍10 种新式 CSS 布局和大小调整技术,突出...【详细内容】
2021-12-21  前端晚间课    Tags:CSS   点击:(9)  评论:(0)  加入收藏
CSS框架提供了设计一致解决方案的基本结构,以解决前端web开发中的常见问题。它们提供了通用功能,可以针对特定场景和应用程序进行覆盖。这大大减少了开始创建应用程序和网站所...【详细内容】
2021-12-06  粤嵌教育    Tags:v   点击:(15)  评论:(0)  加入收藏
作者:前端进阶者来源:前端进阶学习交流一、前言 我们经常在网页上 ,游戏界面加载时会看到加载进度条的效果,我们往往会以为这些加载进度条的效果,很难实现。今天教大家JS+CSS结合...【详细内容】
2021-11-05  Nodejs开发    Tags:CSS   点击:(45)  评论:(0)  加入收藏
<template> <div> <div class="triangle"></div> </div></template><style scoped> .triangle { width: 0; height: 0; border-width: 20px; border-styl...【详细内容】
2021-11-04  荣邦小伙917    Tags:css   点击:(40)  评论:(0)  加入收藏
一提起图标,大家可能第一个会想到PS、美工等词语,但很多小图标现在根本都不需要再打开PS了。1、常见的括号( 前进或后退“>” ).arrow{ width:12rpx; height:12rpx; border-...【详细内容】
2021-10-12  滇東小贰锅    Tags:css   点击:(55)  评论:(0)  加入收藏
在过去的几年里,Web开发已经变得非常流行。每年都会发布许多前端框架,Bootstrap一直是最受欢迎的一个,但是,还有许多其他的框架,你可能没有听说过,但绝对值得一试。想学的同学可以...【详细内容】
2021-09-27  粤嵌教育    Tags:CSS框架   点击:(74)  评论:(0)  加入收藏
水平和垂直对齐第一种方式 : grid + place-items .parent { display: grid; place-items: center; } /*注: place-items 是 justify-items 和 align-items 的简写属性 */...【详细内容】
2021-09-02  又菜又爱学习的程序员    Tags:CSS   点击:(84)  评论:(0)  加入收藏
5个有用的 CSS 布局生成器1、 cssgr.id如果你是前端开发人员,这是一个非常有用的网站。你可以首先指定所需的行数和列数,或者在给定的选项中进行选择,然后为其生成代码。这使你...【详细内容】
2021-08-26  程序员文周    Tags:css布局   点击:(144)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条