目标大纲

1.vertical-align为何不起作用??

vertical-align只钟情于“inline-block内联块级元素/inline元素”

vertical-align属性 text-bottom是与父标签的文字底部对齐

效果 

栗子:

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
<style>
.box {
background-color: #000;
color:#fff;
padding-left: 25px;
}
.dot {
display: inline-block;
width: 4px;
height: 4px;
background-color: orangered;
vertical-align: text-bottom;/*是与父标签的文字底部对齐*/
}
</style>
</head>
<body>
<div class="box">
<span class="dot"></span>我是一段文本.....
</div>
</body>
</html>

2.如何消除图片下面的间隙是如何出现的??

源代码

 <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>vertical-align</title>
<style>
* {
margin: 0;
padding: 0;
}
.box {
background-color: deeppink;
color: #fff;
padding-left: 10px;
line-height: 65px;
}
.inner-box {
display: inline-block;
width: 4px;
height: 4px;
background-color: black;
vertical-align: text-bottom; /*与父容器标签底部对齐*/
} .box_1 {
background-color: royalblue;
margin-top: 5px;
color: #fff;
padding-left: 10px;
}
.box_1 img {
width: 65px;
}
.box_1 span {
background-color: red;
}
</style>
</head>
<body>
<div class="box">
<span class="inner-box"></span>
这是一段文本内容_vertical-align......
</div>
<div class="box_1">
<img src="img/photo.jpg" /><span>这是一段文本内容_vertical-align......</span>
</div>
</body>
</html>

默认情况下图片vertical-align与一段文本的基线baseline对齐,由于文本存在line-height高度,所以就会出现间隙

3.如何消除图片下面的空白间隙??

a.设置vertical-align值,vertical-align: top/middle/bottom;

img {  vertical-align: top;  }

b.让vertical-align失效,vertical-align 只对“inline-block内联块级元素”有效,我们只设置图片display:block就可以搞定

img { display: block;}

c.设置line-height行高足够小

div.box_1 { line-height: 5px;}

d.通过line-height间接控制,font-size字体足够小

div.box_1 { font-size: 0; /*字体足够小*/}

消除图片下面空白间隙的几种方法源码

 <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>消除图片下面空白间隙的几种方法(原因vertical-align与line-height导致)</title>
<style>
.box_1 {
background-color: royalblue;
margin-top: 5px;
color: #fff;
padding-left: 10px;
font-size: 0;/*字体足够小*/
/* line-height: 5px;*/
}
.box_1 img {
/*vertical-align: top;文字与父标签的顶部对齐*/
/*vertical-align: middle;*/
/*display: block;*/
}
.box_1 span {
background-color: red;
}
</style>
</head>
<body>
<div class="box_1">
<img src="img/photo.jpg" width="65"/>
<span>这是一段文本内容_vertical-align......</span>
</div>
</body>
</html>

【资料参考】

  http://www.zhangxinxu.com/wordpress/2015/08/css-deep-understand-vertical-align-and-line-height/

  http://www.zhangxinxu.com/wordpress/2010/05/我对css-vertical-align的一些理解与认识(一)/

css中vertical-align垂直居中的认识的更多相关文章

  1. 前端知识点回顾之重点篇——CSS中vertical align属性

    来源:https://www.cnblogs.com/shuiyi/p/5597187.html 行框的概念 红色(line-height)为行框的顶部和底部,绿色(font-size)为字体的高度, ...

  2. CSS中设置DIV垂直居中的N种方法 兼容IE浏览器

    在说到这个问题的时候,也许有人会问CSS中不是有vertical-align属性来设置垂直居中的吗?即使是某些浏览器不支持我只需做少许的CSS Hack技术就可以啊!所以在这里我还要啰嗦两句,CSS中 ...

  3. CSS中设置div垂直居中

    在说到这个问题的时候,也许有人会问CSS中不是有vertical-align属性来设置垂直居中的吗?即使是某些浏览器不支持我只需做少许的CSS Hack技术就可以啊!所以在这里我还要啰嗦两句,CSS中 ...

  4. css中的左右垂直居中的问题,可兼容各种版本浏览器的写法

    如题分为垂直居中,左右居中,先挑简单的记录. 一.左右居中 1.我刚开始写代码的时候,老师就直接告诉我一个简单的方法,那就是: width:500px; height:200px; margin:0 ...

  5. css中元素水平垂直居中4种方法介绍

    table-cell轻松设置文本图片水平垂直居中 让一个元素垂直居中的思路:把这个元素的容器设置为table-cell,也就是具有表格单元格的特性,再使用vertical-align(这个属性对blo ...

  6. CSS中图片水平垂直居中方法小结

    写页面时难免会遇到水平垂直居中的问题,总结一下最近使用的方法. 一.使用垂直居中和水平居中 <div id="div1"> <img src="img/ ...

  7. 在CSS中水平居中和垂直居中:完整的指南

    这篇文章将会按照如下思路展开: 一.水平居中 1. 行内元素水平居中 2. block元素水平居中 3. 多个块级元素水平居中 二.垂直居中 1. 行内元素水平居中 2. block元素水平居中 3. ...

  8. CSS中元素水平居中和垂直居中的方法

    #CSS中水平居中和垂直居中的方法 一. 水平居中 1.行内元素(文本,图片等) 如果被设置元素为文本.图片等行内元素时,可以通过给父元素设置` text-align:center;` 来实现 2.定 ...

  9. CSS中有关水平居中和垂直居中的解决办法

    CCS中让div等块级元素在父级元素中居中的方法: (1)div{  margin:0 auto   } 该方法只能实现水平的居中,无法实现元素的垂直居中 (2)当div元素的宽高是固定的,然后设置位 ...

  10. CSS布局中的水平垂直居中

    CSS布局中的水平垂直居中 各位好,先说两句题外话.今天是我开通博客园的博客第一天,虽然我申请博客园的账号已经有一年半了,但是由于各种原因迟迟没有开通自己的博客.今天非常有幸开通博客,在此也写一篇关于 ...

随机推荐

  1. Nginx与Apache比较

    Nginx特点:高性能epoll 异步非阻塞多个连接(万级别)可以对应一个进程 支持反向代理支持7层负载均衡静态文件.反向代理.前端缓存等处理方便支持高并发连接,每秒最多的并发连接请求理论可以达到 5 ...

  2. iOS中多线程知识总结(二)

    1.GCD GCD全称是Grand Central Dispatch,译为"强大的中枢管理器" 1)什么是任务?什么是队列? 任务和队列是GCD的核心. 任务: 执行什么操作 队列 ...

  3. Python标准模块--linecache

    1.模块简介 linecache主要用于缓存文件内容,如果下次继续读取该文件,则不需要打开文件,直接在缓存中获取该文件内容. 2.模块使用 模块的基本方法有getline,clearcache,get ...

  4. 用 namspace 隔离 DHCP 服务 - 每天5分钟玩转 OpenStack(90)

    Neutron 通过 dnsmasq 提供 DHCP 服务,而 dnsmasq 如何独立的为每个 network 服务呢? 答案是通过 Linux Network Namespace 隔离,本节将详细 ...

  5. Util应用程序框架公共操作类(十一):表达式生成器

    本篇介绍的表达式生成器,用于动态创建表达式. 在Util项目Lambdas目录中,添加ExpressionBuilder,代码如下. using System; using System.Linq.E ...

  6. T-SQL:毕业生出门需知系列(三)

    第3课 排序检索数据 3.1 排序数据(ORDER BY) 下面的 SQL 语句返回某个数据库表的单个列.观察其输出,并没有特定的顺序. SELECT prod_name FROM Products; ...

  7. 把《c++ primer》读薄(3-3 标准库bitset类型)

    督促读书,总结精华,提炼笔记,抛砖引玉,有不合适的地方,欢迎留言指正. //开头 #include <bitset> using std::bitset; 问题1.标准库bitset类型( ...

  8. java操作数据库增删改查的小工具1--TxQueryRunner

    在java程序中,一般使用jdbc连接数据库,比较麻烦,在看传智教程时学了一个工具类,用于简化与数据库之间的操作步骤,就是TxQueryRunner,他是QueryRunner的子类,用起来和他是一样 ...

  9. 【LeetCode】Counting Bits(338)

    1. Description Given a non negative integer number num. For every numbers i in the range 0 ≤ i ≤ num ...

  10. Linux日志定时清理

    linux是一个很能自动产生文件的系统,日志.邮件.备份等.虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,让系统定时清理一些不需要的文件很有一种爽快的事情.不用你去每天惦记着是否需要清理日志 ...