热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

css学习笔记之line-height

*只是记录下前端学习过程中的笔记有错误麻烦各位大佬一定指正啊别让我这个渣渣保留错误的想法跪谢了:)先说好喔新手看我的笔记大概会被我搞晕我是按自己思路写的网上有很多大佬好的总结

/* 只是记录下前端学习过程中的笔记 有错误 麻烦各位大佬一定指正啊 别让我这个渣渣 保留错误的想法 跪谢了 :)

 先说好喔  新手看我的笔记大概会被我搞晕 我是按自己思路写的 网上有很多大佬好的总结 最好别太记忆我写的恶心巴拉的笔记 

 祝好运哦 微笑

学习来源:

http://blog.csdn.net/q121516340/article/details/51483439
https://www.slideshare.net/daemao/line-height-2470819                
http://www.zhangxinxu.com/                                                       

 */


几条线的概念:


几个box的概念:

containing box(包含块)由height决定高度

line box(行框)由它包含的行内框里最大的那个的line-height决定高度  与font-size无关 (当然前提是要有内容)

inline box(行内框)由元素的line-height决定高度

containing box 包含 line box    line box包含inline box

还有个 content area(内容区)就是top line到bottom line之间的距离   行高 = 内容区 + 行距;


line-height几种属性值:

line-height:150%       按照声明该line-height:150%处的font-size值计算 

line-height:1.5em      同上 按照声明该line-height:150%处的font-size值计算 

line-height:1.5            按照继承或重新声明的font-size值计算 

line-height:normal    大约是1~1.2的意思 

举个栗子哈:


       

               /*此时子元素的line-height值?*/

按照上面依次得出:
150% x 16px    1.5em x 16px    1.5 x 30px    1.2 x 30px


line-height的应用:
1. 用line-height代替height,避免ie6/ie7的haslayout 
IE6,IE7下,类似inline-block属性的元素里如果有block属性的元素,如果该block haslayout,则该标签会冲破外部inline-block的显示而宽度100%显示,从使按钮自适应文字大小的效果失效,解决方法就是使用line-height代替height。

上图中第一个标签使用height定高,结果宽度直接100%显示;第二个标签使用line-height定高,结果很规矩,自适应与内部文字大小。其代码如下:

css部分:
.out{display:inline-block; background:#a0b3d6; margin-top:20px;}
.in1{display:block; height:20px;}
.in2{display:block; line-height:20px;}


html部分:

height:20px;


line-height:20px;



2. 消除div中嵌套img 底部有留白bug

.box{line-height:0;}

inline元素默认的vertical-align:baseline;即元素基线和基准的基线对齐
从第一张图看出基线和底部是有一些距离的 所以会有留白 这时候如果将line-height设置的足够小 基线上移 自然就会消除留白。

3. 单行文本居中

div{line-height:100px;}

好多地方都写着单行文本垂直居中是将height和line-height设置成一样的值  但height没必要设置  仅仅设置行高就可以  文字在一行中本身就是垂直居中显示的


4. 图片居中 或是 多行文本居中 
我还没完完全全搞清楚原理 就不ctrl+ c  ctrl+v过来瞎扯淡了  网上大佬们都总结的很好很高深  我还得消化消化。


推荐阅读
  • 本文介绍如何使用 Android 的 Canvas 和 View 组件创建一个简单的绘图板应用程序,支持触摸绘画和保存图片功能。 ... [详细]
  • 雨林木风 GHOST XP SP3 经典珍藏版 V2017.11
    雨林木风 GHOST XP SP3 经典珍藏版 V2017.11 ... [详细]
  • C#设计模式学习笔记:观察者模式解析
    本文将探讨观察者模式的基本概念、应用场景及其在C#中的实现方法。通过借鉴《Head First Design Patterns》和维基百科等资源,详细介绍该模式的工作原理,并提供具体代码示例。 ... [详细]
  • 本文详细介绍如何使用CSS自定义HTML5视频播放器的样式,涵盖常见属性及跨浏览器兼容性问题。发布时间:2020-09-14 14:46:29;来源:亿速云;阅读量:58;作者:小新。 ... [详细]
  • 本文介绍了如何利用 Spring Boot 和 Groovy 构建一个灵活且可扩展的动态计算引擎,以满足钱包应用中类似余额宝功能的推广需求。我们将探讨不同的设计方案,并最终选择最适合的技术栈来实现这一目标。 ... [详细]
  • 在项目部署后,Node.js 进程可能会遇到不可预见的错误并崩溃。为了及时通知开发人员进行问题排查,我们可以利用 nodemailer 插件来发送邮件提醒。本文将详细介绍如何配置和使用 nodemailer 实现这一功能。 ... [详细]
  • 在尝试更新Microsoft Edge浏览器时遇到“检查更新时出错:无法连接到Internet”的问题。本文将详细介绍可能的原因及解决方案,包括防火墙设置和证书缺失的处理方法。 ... [详细]
  • Windows 7 64位系统下Redis的安装与PHP Redis扩展配置
    本文详细介绍了在Windows 7 64位操作系统中安装Redis以及配置PHP Redis扩展的方法,包括下载、安装和基本使用步骤。适合对Redis和PHP集成感兴趣的开发人员参考。 ... [详细]
  • 编写了几个500行左右代码的程序,但基本上解决问题还是面向过程的思维,如何从问题中抽象出类,形成类的划分和设计,从而用面向对象的思维解决问题?有这方面的入门好书吗?最好是结合几个具体的案例分析的 ... [详细]
  • 目录一、salt-job管理#job存放数据目录#缓存时间设置#Others二、returns模块配置job数据入库#配置returns返回值信息#mysql安全设置#创建模块相关 ... [详细]
  • 本文详细介绍了JSP的三大指令:page、include和taglib,重点探讨了静态包含与动态包含的区别及其应用场景,并解释了如何使用taglib指令引入第三方标签库。 ... [详细]
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • 利用Selenium与ChromeDriver实现豆瓣网页全屏截图
    本文介绍了一种使用Selenium和ChromeDriver结合Python代码,轻松实现对豆瓣网站进行完整页面截图的方法。该方法不仅简单易行,而且解决了新版Selenium不再支持PhantomJS的问题。 ... [详细]
  • Nginx 反向代理与负载均衡实验
    本实验旨在通过配置 Nginx 实现反向代理和负载均衡,确保从北京本地代理服务器访问上海的 Web 服务器时,能够依次显示红、黄、绿三种颜色页面以验证负载均衡效果。 ... [详细]
  • 本文介绍了SVD(奇异值分解)和QR分解的基本原理及其在Python中的实现方法。通过具体代码示例,展示了如何使用这两种矩阵分解技术处理图像数据和计算特征值。 ... [详细]
author-avatar
不不不不不想你
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有