css中vertical-align垂直居中的认识
目标大纲

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垂直居中的认识的更多相关文章
- 前端知识点回顾之重点篇——CSS中vertical align属性
来源:https://www.cnblogs.com/shuiyi/p/5597187.html 行框的概念 红色(line-height)为行框的顶部和底部,绿色(font-size)为字体的高度, ...
- CSS中设置DIV垂直居中的N种方法 兼容IE浏览器
在说到这个问题的时候,也许有人会问CSS中不是有vertical-align属性来设置垂直居中的吗?即使是某些浏览器不支持我只需做少许的CSS Hack技术就可以啊!所以在这里我还要啰嗦两句,CSS中 ...
- CSS中设置div垂直居中
在说到这个问题的时候,也许有人会问CSS中不是有vertical-align属性来设置垂直居中的吗?即使是某些浏览器不支持我只需做少许的CSS Hack技术就可以啊!所以在这里我还要啰嗦两句,CSS中 ...
- css中的左右垂直居中的问题,可兼容各种版本浏览器的写法
如题分为垂直居中,左右居中,先挑简单的记录. 一.左右居中 1.我刚开始写代码的时候,老师就直接告诉我一个简单的方法,那就是: width:500px; height:200px; margin:0 ...
- css中元素水平垂直居中4种方法介绍
table-cell轻松设置文本图片水平垂直居中 让一个元素垂直居中的思路:把这个元素的容器设置为table-cell,也就是具有表格单元格的特性,再使用vertical-align(这个属性对blo ...
- CSS中图片水平垂直居中方法小结
写页面时难免会遇到水平垂直居中的问题,总结一下最近使用的方法. 一.使用垂直居中和水平居中 <div id="div1"> <img src="img/ ...
- 在CSS中水平居中和垂直居中:完整的指南
这篇文章将会按照如下思路展开: 一.水平居中 1. 行内元素水平居中 2. block元素水平居中 3. 多个块级元素水平居中 二.垂直居中 1. 行内元素水平居中 2. block元素水平居中 3. ...
- CSS中元素水平居中和垂直居中的方法
#CSS中水平居中和垂直居中的方法 一. 水平居中 1.行内元素(文本,图片等) 如果被设置元素为文本.图片等行内元素时,可以通过给父元素设置` text-align:center;` 来实现 2.定 ...
- CSS中有关水平居中和垂直居中的解决办法
CCS中让div等块级元素在父级元素中居中的方法: (1)div{ margin:0 auto } 该方法只能实现水平的居中,无法实现元素的垂直居中 (2)当div元素的宽高是固定的,然后设置位 ...
- CSS布局中的水平垂直居中
CSS布局中的水平垂直居中 各位好,先说两句题外话.今天是我开通博客园的博客第一天,虽然我申请博客园的账号已经有一年半了,但是由于各种原因迟迟没有开通自己的博客.今天非常有幸开通博客,在此也写一篇关于 ...
随机推荐
- @OutputCache 详解-文章目录
OutputCache概念学习 OutputCache属性详解(一)一Duration.VaryByParam OutputCache属性详解(二)一 Location OutputCache属性详解 ...
- JSON-fastjson
fastjson 是alibaba的一个Json处理工具包. 1.使用 JSON.toJSONString 和 JSON.parseObject fastjson只需要掌握两个静态方法:JSO ...
- Nhibernate 4.0 教程入门
Nhibernate 4.0 教程 目录 1. 下载Nhibernate 4.04. 1 2. 入门教程... 2 3. 测试项目详解... 3 4. 总结.. ...
- [转]关于typedef的用法总结
不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中.typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一些 ...
- php 操作数组(合并,拆分,追加,查找,删除等)(转载)
1. 合并数组 array_merge()函数将数组合并到一起,返回一个联合的数组.所得到的数组以第一个输入数组参数开始,按后面数组参数出现的顺序依次迫加.其形式为: array array_merg ...
- XE1:使用SSMS创建Extended Events
Extended Events 用于取代SQL trace,是SQL Server 追踪系统运行的神器,其创建过程十分简单. 一,创建Extended Events的Session step1,打开N ...
- SSIS 参数的值
一,SSIS Parameter Value 的type 一个Parameter的Value共有三种类型,分别是Design Value,Server Value,Execution Value. D ...
- 静态Include和动态Include测试并总结
主要代码 hjzgg.css .center-div{ width:auto; margin-left: 40%; margin-right: 40%; display: block; positio ...
- 【原创】开源Math.NET基础数学类库使用(01)综合介绍
本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新 开源Math.NET基础数学类库使用总目录:[目录]开源Math.NET基础数学类库使用总目录 前言 ...
- 关于skip_name_resolve参数的总结
作为MySQL调优的一部分,很多人都推荐开启skip_name_resolve.这个参数是禁止域名解析的(当然,也包括主机名).很多童鞋会好奇,这背后的原理是什么,什么情况下开启这个参数比较合适. 基 ...