一:不同空格符合的区别

  •   半角的不断行的空白格(推荐使用)
  •    半角的空格
  •    全角的空格

详细的含义:

 :这是我们使用最多的空格,也就是按下space键产生的空格。在HTML中,如果你用空格键产生此空格,空格是不会累加的(只算1个)。要使用html实体表示才可累加。该空格占据宽度受字体影响明显而强烈。在inline-block布局中会搞些小破坏,在两端对齐布局中又是不可少的元素。

 :此空格有个相当稳健的特性,就是其占据的宽度正好是1/2个中文宽度,而且基本上不受字体影响。

  :此空格也有个相当稳健的特性,就是其占据的宽度正好是1个中文宽度,而且基本上不受字体影响。

二:使用场景

对于 和 在一些中文排版对齐方面可以使用,如下html代码:

<ul>
<li class="li">姓&emsp;&emsp;名:<input type="text" /></li>
<li class="li">手&ensp;机&ensp;号:<input type="text" /></li>
<li class="li">电子邮箱:<input type="text" /></li>
</ul>

实现的效果如图所示:

值得注意的是:上面的空白字符中文对齐方法在IE6下不能完全兼容。(现在谁还在兼容IE6呢,所以还是非常有用的。)

三:空格新成员&#x3000

大多数编辑器中空格是透明滴,很容易就被删掉;另外,HTML压缩时候,空格也会被删除掉,所以需要转换书写形式。

在web页面上,一般有3种书写:

  • 直接,例如搜狗输入法输入“版权” – ©.
  • web字符,&copy;
  • charCode表示:©

而上面的&ensp;, &emsp;就是具有特定名称的web字符。但是,恕我寡闻,我并不清楚全角空格是否有对应& + 关键字示意,所以,就使用工具转成了charCode字符表示,也就是这里的 

  • &ensp; →  
  • &emsp; →  

字符使用技巧:

1. HTML中字符输出使用&#x配上charCode值;
2. 在JavaScript文件中为防止乱码转义,则是\u配上charCode值;
3. 而在CSS文件中,如CSS伪元素的content属性,直接使用\配上charCode值。

因此,想在HTML/JS/CSS中转义“我”这个汉字,分别是:

  • 我
  • \u6211, 如console.log('\u6211');
  • \6211, 如.xxx:before { content: '\6211'; }

考虑到直接 这种形式暴露在HTML中,可能会让屏幕阅读器等辅助设备读取,从而影响正常阅读流,因此,我们可以进一步优化下,使用标签,利用伪元素,例如:

.half:before { content: '\2002'; speak: none; }
.full:before { content: '\2003'; speak: none; }

html代码:

<ul>
<li class="li">姓<span class="full"></span><span class="full"></span>名:<input type="text" /></li>
<li class="li">手<span class="half"></span>机<span class="half"></span>号:<input type="text" /></li>
<li class="li">电子邮箱:<input type="text" /></li>
</ul>

css代码:

.half {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#x2002;');
}
.full {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#x2003;');
}
.half:before { content: '\2002'; speak: none; }
.full:before { content: '\2003'; speak: none; }

上面用到了runtimeStyle这个对象属性,这个是IE专属的。

下面简单介绍下style、 currentStyle、 runtimeStyle以及getComputedStyle的区别,在IE下测试如下。

html代码:

<div id="tt" style="color:blue;">这里是来检测style,currentStyle,runtimeStyle的区别</div> 

js代码:

var myDiv = document.getElementById("tt");
myDiv.runtimeStyle.color="black";
console.log(myDiv.currentStyle.color); //black
console.log(myDiv.runtimeStyle.color); //black
console.log(document.defaultView.getComputedStyle(myDiv, null).color); //rgb(0, 0, 0)
console.log(myDiv.style.color); //blue

说明一下:

obj.style:这个方法只能JS只能获取写在html标签中的写在style属性中的值(style=”…”),而无法获取定义在<style type="text/css">里面的属性。

IE中使用的是obj.currentStyle方法,而FF是用的是getComputedStyle 方法 。

“DOM2级样式”增强了document.defaultView,提供了getComputedStyle()方法。这个方法接受两个参数:要取得计算样式的元素和一个伪元素字符串(例如“:after”)。如果不需要伪元素信息,第二个参数可以是null。getComputerStyle()方法返回一个CSSStyleDeclaration对象,其中包含当前元素的所有计算的样式。

其语法为:document.defaultView.getComputedStyle('元素', '伪类');IE9及以上支持该写法,IE8以及以下不支持。

总结一下:

通过document.defaultView.getComputedStyle()得到背景色,不同浏览器得到的不一样,可能会返回将所有颜色转换成RGB格式,也可能是颜色值。

IE通过currentStyle方法得到的颜色值没有将颜色转化成RGB格式。

详细了解:《js中使用document.defaultView.getComputedStyle()、currentStyle()方法获取CSS属性值》

参考地址:

小tips: 使用 等空格实现最小成本中文对齐

CSS 听觉参考手册

web页面相关的一些常见可用字符介绍

HTML空格符号 nbsp; ensp; emsp; 介绍以及实现中文对齐的方法的更多相关文章

  1. HTML空格符号 &nbsp / &ensp / &emsp

      半角的不断行的空白格(推荐使用)    半角的空格    全角的空格

  2. HTML 空格的表示符号 nbsp / ensp / emsp 的区别

    HTML 空格的表示符号 nbsp / ensp / emsp 的区别?     半角的不断行的空白格(推荐使用)    半角的空格    全角的空格

  3. HTML 空格的表示符号 nbsp / ensp / emsp 的区别?

      半角的不断行的空白格(推荐使用)   半角的空格   全角的空格   半角的不断行的空白格(推荐使用)    半角的空格     全角的空格

  4. HTML页面空格记录&nbsp;&ensp; &emsp; (小计)

      半角的不断行的空白格(推荐使用) 也就是咱们经常在英文状态下面使用的空格按键    半角的空格  他的宽度为中文字符的一半长度    全角的空格他的宽度为中文字符的长度

  5. HTML中&nbsp; &ensp; &emsp; &thinsp;等6种空白空格的区别

    HTML提供了5种空格实体(space entity),它们拥有不同的宽度,非断行空格( )是常规空格的宽度,可运行于所有主流浏览器.其他几种空格 (       ‌‍)在不同浏览器中宽度各异.   ...

  6. HTML中的&nbsp; &ensp; &emsp; 等6种空格标记

    HTML提供了5种空格实体(space entity),它们拥有不同的宽度,非断行空格( )是常规空格的宽度,可运行于所有主流浏览器.其他几种空格(      ‌‍)在不同浏览器中宽度各异.   它叫 ...

  7. 小tips: 使用&#x3000;等空格实现最小成本中文对齐

    一.重见天日第二春 11年的时候,写了篇文章“web页面相关的一些常见可用字符介绍”,这篇文章里面藏了个好东西,就是使用一些空格实现个数不等的中文对齐或等宽.见下表: 字符以及HTML实体 描述以及说 ...

  8. [转] 小tips: 使用&#x3000;等空格实现最小成本中文对齐 ---张鑫旭

    by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=4562 一.重见天日第 ...

  9. charCode 表示空格 实现中文对齐

    字符以及HTML实体 描述以及说明     这是我们使用最多的空格,也就是按下space键产生的空格.在HTML中,如果你用空格键产生此空格,空格是不会累加的(只算1个).要使用html实体表示才可累 ...

随机推荐

  1. 第42节:Java知识点回顾复习

    Java介绍 Java是一门面向对象的程序设计的编程语言,在1995年,sun公司发布了Java这门编程语言,有咖啡的名称,是当时灵机一动的想法.在2010年的时候被Oracle公司收购了,目前jdk ...

  2. springboot下载文件

    例子 /** * 下载假期模板 */ @ResponseBody @RequestMapping(value = "/downloadDolidayTemplate.do") pu ...

  3. 关于I/O编程

    IO在计算机中指Input/Output,也就是输入和输出 由于程序在运行时,数据是驻留在内存中的,并由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就需要IO接口 IO编 ...

  4. Spring Boot 2.x 启动全过程源码分析(上)入口类剖析

    Spring Boot 的应用教程我们已经分享过很多了,今天来通过源码来分析下它的启动过程,探究下 Spring Boot 为什么这么简便的奥秘. 本篇基于 Spring Boot 2.0.3 版本进 ...

  5. [EXP]Microsoft Windows 10 (Build 17134) - Local Privilege Escalation (UAC Bypass)

    #include "stdafx.h" #include <Windows.h> #include "resource.h" void DropRe ...

  6. 《JQuery技术内幕》读书笔记——自调用匿名函数剖析

    Javascript语言中的自调用匿名函数格式如下: (function(){ //do somethings })(); 它还有另外两种等价写法如下: //等价写法一 (function(){ // ...

  7. Azure认知服务之Face API上手体验

    Azure认知服务:Face API Face API是Azure认知服务之一,Face API有两个主要功能: 人脸检测 Face API可在图像中以高精度人脸位置检测多达64个人脸.图像可以通过文 ...

  8. mysql 开发进阶篇系列 14 锁问题(避免死锁,死锁查看分析)

    一. 概述 通常来说,死锁都是应用设计问题,通过调整业务流程,数据库对象设计,事务大小,以及访问数据库的sql语句,绝大部分死锁都可以避免,下面介绍几种避免死锁的常用 方法. 1. 在应用中,如果不同 ...

  9. css自适应布局之“圣杯双飞翼”

    首先,这个这么扯淡又装逼的名字不知道是谁起的,大意就是说:中间的内容随着浏览器宽度的不同,进行宽度自适应操作,而两边的内容固定宽度. 来,上个代码演示一下: <style> *{ marg ...

  10. Web API 处理机制剖析 --- 拨开迷雾看本质

     前言 最近开发了几个项目,用到了web api,也通过项目加深了对web api的理解.本文试图从内部原理讲解web api的本质.透过重重迷雾,看清本质,就能更好的把握和利用好web api. 1 ...