我问你答(1)

  1. 问:为什么在网页中很少用*{padding:0px;margin:0px:}去更改浏览器的默认样式?
    a .在一个网站中,通配符(*)匹配所有的元素,它会把所有的标签都遍历一遍。
    当网站比较较大时,样式就会比较多,会使网站加载的时候需要很长一段时间(耗时)
    在这个时候使用分组选择器(用逗号隔开)比较好。
    详见:http://jingyan.baidu.com/article/597a0643612768312b52433e.html
  2. 问 : 目前有那么多css选择器,请问怎样使用这些选择器最好?
    css选择器的性能损耗因素:浏览器匹配选择器和文档元素时所消耗的时间
    css选择器匹配机制,如子选择器规则:
    #header > a {font-weight:blod;}
    注意:CSS选择器是从右到左进行规则匹配
    例子中看似高效的选择器在实际中的匹配开销是很高的。
    如果把例子的子选择器改为后代选择器则会开销更多,
    在遍历页面中所有 a 元素后还需向其上级遍历直到根节点。
    #header a {font-weight:blod;}
    理解了CSS选择器从右到左匹配的机制后,
    样式系统就会继续向左移动,直到找到和规则匹配的选择符,
    或者因为不匹配而退出。我们把最右边选择符称之为关键选择器。
    如何减少 CSS 选择器性能损耗?
    下面对 CSS 选择器的执行效率从高到低做了一个排序:
    1.id选择器(#myid)
    2.类选择器(.myclassname)
    3.标签选择器(div,h1,p)
    4.相邻选择器(h1+p)
    5.父子选择器(ul > li)
    6.后代选择器(li a)
    7.通配符选择器(*)
    8.属性选择器(a[rel=”external”])
    9.伪类选择器(a:hover, li:nth-child)
    根据以上「选择器匹配」与「选择器执行效率」原则,
    我们可以通过避免不恰当的使用,提升 CSS 选择器性能。
    1.避免使用通用选择器
    .content * {color: red;}
    浏览器匹配文档中所有的元素后分别向上逐级匹配 class 为
    content 的元素,直到文档的根节点。因此其匹配开销是非
    常大的,所以应避免使用关键选择器是通配选择器的情况。
    2.避免使用标签或 class 选择器限制 id 选择器
    img #ig{color:red;} .tup #ig{color:red;}
    注意:CSS选择器是从右到左进行规则匹配
    3.避免使用标签限制 class 选择器
    img .ig{color:red;}
    按照优先级来(id>类>标签)
    4.避免使用多层标签选择器。使用 class 选择器替换,减少css查找
    5.避免使用父子选择器
    div>p{color:red;}
    6.使用继承
    思考:对于「淘宝」,每个页面的 DOM 元素超过1000个以上的
    网站来说,通过限制 CSS 选择器,改善性能是具有实际意义的。
    但对于普通网站,我更倾向于保证「语义化」和「可维护性」的
    前提下,提升 CSS 选择器性能。
    3.问: padding和margin有什么不同?
    padding没有auto值,padding没有负值。
    margin有auto值,margin有负值。
    某些相邻的margin会发生合并,我们称之为margin折叠:
    示例:
  h2{margin:10px 0;}
  div{margin:20px 0;}
  ......
  <h2>这是一个标题</h2>
  <div>
    <h2>这是又一个标题</h2>
  </div>
  1. 本例中,第一个h2的margin-bottom(10px),
    div的margin-top(20px),第二个h2的margin-top(10px)
    将被合并,它们之间的margin间隙最后是(20px),
    即取三者之间最大的那个值。
    如果给上例中的div加上border的话:
    示例:
  h2{margin:10px 0;}
  div{margin:20px 0;border:1px solid #aaa;}
  ......
  <h2>这是一个标题</h2>
  <div>
    <h2>这是又一个标题</h2>
  </div>
  1. 本例中,第一个h2的margin-bottom(10px),
    div的margin-top(20px)将被合并,
    但第二个h2的margin-top不与它们合并,
    因为它被border分隔,不与它们相邻。
    注意:如果给h2的父元素(div)设置边框的话,再给h2设置margin
    这时margin就相对于边框,而不是相对于div的兄弟元素h2。 margin折叠常规认知: a .margin折叠只发生在块级元素上; b .浮动元素的margin不与任何margin发生折叠; c
    .设置了属性overflow且值不为visible的块级元素, 将不与它的子元素发生margin折叠; d
    .绝对定位元素的margin不与任何margin发生折叠; e .根元素的margin不与其它任何margin发生折叠;
  2. 问:动态网页和静态网页的区别?:
    a . 动态网页的数据是存放在数据库的;
    b .和数据库交互,和服务器交互;
  3. 问:js写在body最后面好吗?
它的执行顺序是先执行body里面的内容,然后调用函数,再执行函数里面的内容。
<script>
    function mengdi(){
    var box=document.getElementById("meng");
    box.style.display="none";}
</script>   
</head>
<body
    <p id="meng">gdhsdh</p>
    <input type="button" onclick="mengdi ()" value="提交啊"/>
</body>
下面的执行顺序是从上往下,display默认属性是none;
</head>
<body
    <p id="meng">gdhsdh</p>
    <input type="button" onclick="mengdi ()" value="提交啊"/>
    <script>
      function mengdi(){
      var box=document.getElementById("meng");
      box.style.display="none";}
    </script>
</body>
下面的加载顺序从上到下,导致display未被定义就是用DOM display属性
<body>   
    <script>
      var box=document.getElementById("meng");
      box.style.display="none";
    </script>
    <p id="meng">gdhsdh</p>
</body>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目标检测(Object Detection)是计算机视觉领域的一个核心题,其主要任务是找出图像中所有感兴趣的目标(物体),并确定它们的类别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的题,即定位出图像中目标的位置并识别出目标的类别。由于各类物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 二、核心题 目标检测涉及以下几个核心题: 分类题:判断图像中的目标属于哪个类别。 定位题:确定目标在图像中的具体位置。 大小题:目标可能具有不同的大小。 形状题:目标可能具有不同的形状。 三、算法分类 基于深度学习的目标检测算法主要分为两大类: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分类。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络中提取特征来预测物体分类和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和类别概率。YOLO采用卷积网络来提取特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接层,通过卷积层提取图像特征,通过全连接层输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值