一、img的属性:alt/title

  alt属性是替换名字,是给搜索引擎抓取使用,当图片显示不出来时,就会显示出alt的内容;

    

  title 属性是提示文字,当鼠标移到图片上的时候会显示出来,大部分的标签都会有这个属性

    

*******************************alt和title属性的区别******************************
** alt属性:
  alt属性是为了在文档中图像不能显示的时候,提供给用户的文字说明。(alt text)
  目标元素:img/area/input:image
  图像不能显示的情况:
    用户的浏览器不支持图像显示,或者图像显示被禁止
    视觉障碍或者使用屏幕阅读器的用户
  注意事项:
    有文字的图像,通常会将alt设置为该文字
    装饰性的图片可以设置alt=””,但是不能忽略,否则文字浏览器或屏幕浏览器会显示图片的文件名
    alt的长度应该遵循“尽可能短,尽需要长”
** title属性
  title属性能够为元素提供额外信息,(tool tip)
  目标元素:除了HTML/head/meta/title/script/base/basefont/param外的所有元素
  主要用途:
    为链接添加描述性文字
    为图像提供额外的说明信息

二、设置图片加载错误时的显示默认图

  在js中有onload、onerror两个事件,可在图片中加入,修改于的src地址,这样可改善网络差或者图片丢失时的用户体验:
    

<img src="img/3.jpg" onload="this.src='default.jpg'" onerror="this.src='error.jpg'"/>

  在使用js时,为了避免’的嵌套,可以

    

onerror=javascript:this.src="data:images/icon2.png"

  

三、图片下莫名的间隙问题

  原理:vertical默认基线(baseline)对齐
  理解:vertical-align指定了inline元素/table-cell元素的垂直对齐方式,默认值是baseline对齐,要注意的是,该对齐是元素相对于相邻文字的基线对齐的,以图片为例,我们假设在图片相邻有一个字母x,事实上,字母x非常特殊,他恰好是处于同元素内的中线(middle)和基线(baseline)中间的位置,也就是说图片相对于基线对齐,而基线和底线也是有距离的,这段距离所呈现的空白,也就是莫名间隙出现的原因。

  * 那么在没有文字的情况下为什么也会出现间隙呢,,
    在H5的文档声明下,块状元素内部的内联元素的行为表现看,就好像块元素的内部有一个(有可能是两个)没有实体,看不见的空白节点,所以内部的inline元素相对于这个节点基线对齐,就产生了元素与父级之间的间隙。由于文字x的高度与line-height相关,而font-size又影响line-height,所以这个间隙的大小可以通过line-height/font-size进行间接的控制。
  解决方法:

  •     给元素设置vertical-align:top/middle/bottom;
  •     对图片设置display:block;

      *** vertical-align对块元素不起作用

  •     在不影响布局的情况下,设置浮动/绝对定位
  •     设置块元素的行高足够小
  •     设置font-size

      由于font-size间接控制line-height,所以这种方法本质上还是改变的行高

  **一个inline-block元素,如果里面没有inline内联元素,或者他的overflow不是visible,则该元素的基线就是其margin底边缘,否则,他的基线就是元素中最后一行内联元素的基线。

02HTML-<img>的更多相关文章

  1. Html与CSS快速入门02-HTML基础应用

    这部分是html细节知识的学习. 快速入门系列--HTML-01简介 快速入门系列--HTML-02基础元素 快速入门系列--HTML-03高级元素和布局 快速入门系列--HTML-04进阶概念 示例 ...

  2. [笔记]猿计划(WEB安全工程师养成之路系列教程):02HTML头部标签

    1.什么是HTML? HTML是用来描述网页的一种语言 HTML——超文本标记语言(Hyper Text Markup Language) HTML不是编程语言,是一种标记语言 标记语言是一套标记标签 ...

  3. 02-HTML之head标签

    head标签 head内常用标签表 标签 类型 意义 <title></titile> 双闭合标签 定义网页标题 <style></style> 双闭合 ...

  4. 02html基础

    02_html 1.几个标签 1.1 meta标签 meta标签的属性有name和http-equiv,其中name属性用于描述网页,对应于content(网页内容). <meta name=& ...

  5. 02- HTML网页基础知识与浏览器介绍

    1.认识网页 网页主要由文字,图像和超链接等元素构成.当然,除了这些元素,网页还可以包含音频,视频,以及flask等. 如图所示就是一个网页: 网页是如何形成的呢? 它是由前端人员写的代码,经过浏览器 ...

  6. HTML 基本标签02

    02-html基本标签 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> & ...

  7. HTML5入门必知

    第一部分 认识HTML 一.认识HTML 1.HTML HTML:超文本标签语言Hyper Text Markup Language HTML:网页源代码. 浏览器:"解释和执行" ...

  8. 第五模块:WEB开发基础 第1章·HTML&CSS基础

    01-前端介绍 02-HTML介绍 03-HTML文档结构 04-head标签相关内容 05-常用标签一之h1~h6,p,a 06-常用标签一之ul.ol.div.img.span 07-常用标签二- ...

  9. 老男孩Python高级全栈开发工程师三期完整无加密带课件(共104天)

    点击了解更多Python课程>>> 老男孩Python高级全栈开发工程师三期完整无加密带课件(共104天) 课程大纲 1.这一期比之前的Python培新课程增加了很多干货:Linux ...

  10. Java菜鸟到大牛学习路线培训教程

    第1阶段(Java程序员) - Java语言基础 - 101 JavaSE -01-常见Dos命令.Java历史.Java跨平台.配置Path环境变量.第一个HelloWorld例子 -02-配置JA ...

随机推荐

  1. Python3安装使用SaltStack以及salt-api详解

    序言 最近在使用salt-api做主机批量管理部署,整理一下文档.之前使用saltstack 多用于命令行管理,自己做web版的自动化管理平台时,发现命令行的些许局限性,接触到salt-api,找到了 ...

  2. iOS开发中UILocalNotification本地通知实现简单的提醒功能

    这段时间项目要求做一个类似的闹钟提醒功能,对通知不太熟悉的我,决定先用到xcode自带的本地通知试试,最终成功的实现了功能,特整理分享下. 它的表现特点: app关闭的时候也能接收和显示通知. app ...

  3. 前端统计图 echarts 实现简单柱状图

    前端统计图   echarts实现简单柱状图 1. 引入 ECharts <!DOCTYPE html> <html> <head> <meta charse ...

  4. 进阶篇:4.4)DFA设计指南:面向高速自动化装配设计

    本章目标:更进一步,设计出符合高速自动化装配的零件. 1.前言 中国的人口红利时代正在慢慢地过去,这是事实.同时,机器换人与大自动化的时代也在到来. 在这个时代中,人工成本越来越高,零部件的装配和库存 ...

  5. mybatis中调用游标,存储过程,函数

    在ibatis和Mybatis对存储过程和函数函数的调用的配置Xml是不一样的,以下是针对Mybatis 3.2的环境进行操作的. 第一步配置Mapper的xml内容 <mapper names ...

  6. vue 之bug<1> Warn : [vue-router] Duplicate named routes definition:

    原因:定义重复的路由名称. 我有3个不同的(父级)vue文件分别配置了3个相同的(子级)vue文件,配置路由的js文件里子集路由的name重复了. 解决方案: 一天一个小Bug

  7. Java学习之路(二):流程控制语句

    Java流程控制语句 java的流程控制语句: 默认,顺序执行 if...else...条件控制语句 switch 选择语句 for循环 while循环 do...while循环 break,cont ...

  8. 在VIM中添加行号的方法

    VIM编辑器是可以显示行号的.但是,有时候我们需要在整个代码的行首添加行号.怎么实现呢?实现的方法有很多,这里就介绍我知道的一种吧. 在每行行首添加某个字符串 :%s/^/your_string/ 在 ...

  9. 事务的编写规范与Hibernate绑定session

    一.事务的编写规范 1.事务的基本概念: 数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行. 事务处理可以确保除非事 ...

  10. [跨域]跨域解决方法之Ngnix反向代理

    跨域原理:http://www.cnblogs.com/Alear/p/8758331.html 介绍Ngnix之前,我么先来介绍下代理是什么~ 代理相当于中间人,中介的概念 代理分为正向代理和反向代 ...