前端基础知识(一)

布局和名称


网站结构:

  • 按功能分:首页、列表页、内容页、单页面、网站地图(一目了然了解整个网站功能)
  • 按布局分:头部 header、菜单 menu、横幅 banner、面包屑 bread、布局容器 wrapper、侧栏 sidebar、主体 main、页脚 footer

    布局.JPG

常用样式命名规则:

  • 文件名:主要的:style.css、布局、版面:layout.css、专栏:columns.css、文字:font.css、主题:theme.css、打印:print.css
  • 样式名(公共样式和私有样式的使用,bootstrap的基础思想):
    外套:wrap ——用于最外层
    头部:header ——用于头部
    主要内容:main ——用于主体内容
    导航条:nav ——菜单
    内容:content ——中部主体
    底部:footer ——用于底部
    http://www.divcss5.com/jiqiao/j4.shtml

提升页面加载速度的方法:

  • 避免使用表格:排版不可以用,内容的展示可以用,表格渲染速度比较慢,计算好行列之后才会渲染出来。
  • 优化图像:在尽可能展现细节的情况下尽可能缩小图像,一般缩到80%人眼是看不出来的。
  • 去掉不必要的插件:flash等插件尽可能在最后加载。
  • 减少DNS查询:减少不同域名的数量将减少并行下载的数量,将域名转化成IP地址称之为DNS解析,会花费很多时间,所以图片尽可能从本地调取。
  • 最小重定向:点击链接进入另一个网址,减少中间的无用跳转。
  • 使用内容分发网络(Content Delivery Network CDN):例如当好多网址都用到juery库的时候,如果这些网站的juery库都是从同一个网址中获取的,那么第一个网址访问之后,其他网址的juery就可以从浏览器的缓存中获取了,可以提高加载速度。
  • 把css放在顶部,把javascript放在底部:因为先将css加载到内存,加载dom的时候就可以直接显示样式了,而js要在dom加载完成之后才能操作。css和js的加载都会占用网页加载时间。
  • 利用浏览器缓存:图片、音频、视频、css、js等都会在浏览器中留下缓存文件,所以当修改样式代码没有反应时,不妨更新一下缓存试试。要解决此问题可以在文件后面加上版本号,eg:main.js?v=1.0
  • 使用css Sprites整合图像:即图像精灵,将一些小图像做成一张图片,要用到图片里的小图像的时候,用css的定位方式进行选取。
  • 压缩css和js文件:压缩成min.js文件。
  • 启用GZIP压缩:一般在服务器端进行操作
  • 压缩和缩小JavaScript文件
  • 设置图像大小:不设置图像大小网页会等图像加载完成之后计算大小再显示图像,设置大小之后即使没加载完成,也会一点一点显示已经加载出来的部分图像。
  • 尽可能延迟脚本加载:lib.js中的loading方法。
  • 按需加载JavaScript文件:seajs等模块化组件。




META详解:

在前端编码过程中,大部分人对meta的理解估计都停留在<meta charset="UTF-8">上,但是一般网站还有很多关于meta的设置,其它设置的作用又是什么呢?今天来系统的整理一下,有的功能虽然没有在实例中测试,但是还是在网上找了些例子,不全的欢迎补充( ^_^ ):

  • meta提供了HTML文档的元数据,它不会显示在页面上,但是可以供机器解析
  • meta常用于定义页面的说明,关键字、最后修改日期和其它元数据,这些数据将服务于浏览器(如何布局或重载页面),搜索引擎和其它网络服务
  • meta标签由两个属性组成,分别是http-equiv属性和name属性:

    name属性主要用于描述网页,与之对应的是content,content是对name的具体描述,便于引擎抓取:

    <meta name="参数" content="具体的描述">,其中,name属性一共有以下几种参数:
    (1)keywords(关键字),用于告诉搜索引擎你网站的关键字,也就是在搜索引擎中输入你在keywords中写的内容,就能搜索到你的网页了。
    <meta name="keywords" content="前端">
    (2)description(网站内容的描述),用于告诉引擎你网站的主要内容,在根据关键字搜索出网页之后,会显示在description中写的内容。
    <meta name="description" content="前端开发,路漫漫其修远兮">
    (3)viewport(移动端的窗口),这个属于移动端页面会用到的属性,控制网页在移动端有较好的显示,具体属性还比较多,后面涉及到会详细介绍相关属性。
    <meta name="viewport" content="width=device-width,inital-scale=1">
    (4)robots(定义搜索引擎爬虫的索引方式),用来告诉爬虫哪些页面需要索引哪些页面不需要索引。
    <meta name="robots" content="none">,其中content的值有很多,none表示搜索引擎将忽略此网页。
    (5)author(作者),用于标注网页作者举例
    <meta name="author" content="Iris_mao">
    (6)generate(网页制作软件),用于标注网站的编码软件
    <meta name="generator" content="Sublime">
    (7)copyright(版权),用于注明网页的版权所有
    <meta name="copyright" content="Iris_mao">
    (8)revisit-after(搜索引擎爬虫搜索时间),如果页面不是经常更新,为了减少搜索引擎爬虫对服务器带来的压力,可以设置一个爬虫访问时间。
    <meta name="revisit-after" content="7 days" >
    (9)renderer(双核浏览器渲染方式),用于指定双核浏览器以何种方式渲染。
    <meta name="renderer" content="webkit"> //默认webkit内核

    http-equiv属性,相当于http的头文件作用,equiv的全称是equivalent,有相当于的意思,这样就很容易理解了。<meta http-equiv="参数" content="具体的描述">

    (1)content-Type(设定网页字符集),旧的定义网页编码方式的写法,现在用meta进行定义,旧的方式不建议使用。
    <meta http-equiv="content-Type" content="text/html;charset=utf-8"> //旧的HTML,不推荐
    (2)X-UA-Compatible(浏览器采用何种版本渲染当前页面),一般都设置为最新模式,在各大框架中也很常见。
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/> //指定IE和Chrome使用最新版本渲染当前页面
    (3)cache-control(指定请求和相应遵循的缓存机制),指导浏览器如何缓存某个响应以及缓存多长时间。
    <meta http-equiv="cache-control" content="no-cache"> content有很多属性,no-cache表示先发送请求,与服务器确认该资源是否被更改,如果未被更改,则使用缓存。
    (4)expires(网页到期时间),用于设定网页的到期时间,过期后网页必须到服务器上重新传输。
    <meta http-equiv="expires" content="Sunday 26 October 2016 01:00 GMT" />
    (5)refresh(自动刷新并指向某页面),网页将在设定的时间内自动刷新并调向设定的网址。
    <meta http-equiv="refresh" content="2;URL=http://xxx">
    (6)Set-Cookie(cookie设定),如果网页过期,那么网页存在本地的cookies也会被删除。
    <meta http-equiv="Set-Cookie" content="name, date">
    (7)mobile-agent(开放手机适配)
    站点如果自行适配有困难,可以在PC页面中做简单改造,百度协助实现适配效果。即:站长在站点PC页的源代码头部嵌入一行或多行Meta信息,由Meta信息来指明该PC页对应的手机页的URL,以及该URL对应页面的格式,百度将根据用户终端类型选择最适合展示的页面。
    Meta声明标注步骤:
    梳理所有与手机页存在一一对应关系的PC页,用于添加Meta声明;无对应关系的PC页面无需添加Meta 。
    Meta声明的格式:
    <meta name="mobile-agent"content="format=[wml|xhtml|html5]; url=url">
    注:A. 红色字体部分是需要站点自定义的内容。
    [wml|xhtml|html5]——根据手机页的协议语言,选择中的一种。
    url=url ——后者代表当前PC页所对应的手机页url,两者必须是一一对应关系(而不是统一对应至手机站首页)
    B. name="mobile-agent"为更新后的meta声明,建议使用。原有meta规则http-equiv="mobile-agent"能够兼容并继续生效,已标注过的无需修改。
    Meta声明示例:
    <meta name="mobile-agent" content="format=html5;url=http://3g.sina.com.cn/"><meta name="mobile-agent" content="format=xhtml;url=http://sina.cn/">


  • 1
    点赞
  • 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、付费专栏及课程。

余额充值