一,line-height行高有什么作用?
1 .行高的理解
行高、行距行高是指文本行基线间的垂直距离。那什么是基线呢?记不记得vertical-align
属性有个baseline
值,这个baseline
就是基线。看张“盗图”(选自下面的参考文章)。
下图中左边用红色标注的line-height
就是行高。一目了然。
2.行高的取值
默认状态,浏览器使用1.0-1.2 line-height, 这是一个初始值。你可以定义line-height属性来覆盖初始值:p{line-height:140%}
你可以有5种方式来定义line-height。
1.line-height可以被定义为:body{line-height:normal;}
2.line-height可以被定义为:body{line-height:inherit;}
3.line-height可以使用一个百分比的值body{line-height:120%;}
4.line-height可以被定义为一个长度值(px,em等) body{line-height:25px;}
5.line-height也可以被定义为纯数字, body{line-height:1.2}
推荐使用数字取值,可以很好的避免文字重叠。
3.行高的用法
主要用于文本垂直居中。
例如:
<div style="width:150px;height:100px; line-height:100px; background-color:#ccc; font-size:0; text-align:center;"> <span style="display:inline-block; font-size:10px; line-height:1.4em; vertical-align:middle;"> This is a test. <br/> This is a test. </span> </div>
运行结果
单行就比较简单了,把line-height设置为box的大小可以实现单行文字的垂直居中
<div style="text-align:center; line-height:100px; border:dashed 1px #0e0;"> This is a test. </div>
运行结果
。
参考资料:
css中的line-height
css行高----line-height
深入了解css行高
css行高的深入理解和应用
二,如何去查CSS属性的兼容性?比如inline-block哪些浏览器支持?
答:通过网站http://caniuse.com 可以检查ccs的兼容性。比如输入inline-block
就可以查询到支持的浏览器版本如下:
三,a 标签的href, title, target 是什么? title 和 alt有什么区别?如何新窗口打开链接?
答:定义和用法
<a>
标签定义超链接,用于从一张页面链接到另一张页面。
通过使用 href 属性,创建指向另外一个文档的链接(或超链接)
通过使用 name 或 id 属性,创建一个文档内部的书签(也就是说,可以创建指向文档片段的链接)
<a>
元素最重要的属性是 href 属性,它指示链接的目标。
在所有浏览器中,链接的默认外观是:
- 未被访问的链接带有下划线而且是蓝色的;
- 已被访问的链接带有下划线而且是紫色的;
- 活动链接带有下划线而且是红色的.
<a>
标签的 href 属性用于指定超链接目标的 URL。
href 属性的值可以是任何有效文档的相对或绝对 URL,包括片段标识符和 JavaScript 代码段。如果用户选择了<a>
标签中的内容,那么浏览器会尝试检索并显示 href 属性指定的 URL 所表示的文档,或者执行 JavaScript 表达式、方法和函数的列表。
超链接的 URL值:
- 绝对 URL - 指向另一个站点(比如
href="http://www.example.com/index.htm"
)
- 相对 URL - 指向站点内的某个文件(
href="index.htm"
) - 锚 URL - 指向页面中的锚(
href="#top"
)
超文本链接
<a href="http://www.jianshu.com">简书</a>
<a>简书
图片链接
<a href="http://www.jianshu.com/index.html"> <img src="/jianshu.jpg" /> </a>
<a>
标签中的title
<a>
标签中title作为属性使用,用来为<a>
元素提供额外说明信息。例如,给超链接标签a添加了title属性,把鼠标移动到该链接上面是,就会显示title的内容,以达到补充说明或者提示的效果。
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<a href='http://www.divcss5.com/jiqiao/j510.shtml' target='_ablank'
title='标 题:html5
作 者:饥人谷
转 贴 自:CSS原创
更新时间:2013-05-17
推荐等级:无
关键字:title属性
分页方式:不分页
阅读等级:普通'>html title属性
</a>
</body>
</html>```
<a>
标签的target
target: href
超链接打开页面方式
- _blank 浏览器总在一个新打开、未命名的窗口中载入目标文档。
- _self这个目标的值对所有没有指定目标的
<a>
标签是默认目标,它使得目标文档载入并显示在相同的框架或者窗口中作为源文档。这个目标是多余且不必要的,除非和文档标题 <base> 标签中的 target 属性一起使用。 - _parent这个目标使得文档载入父窗口或者包含来超链接引用的框架的框架集。如果这个引用是在窗口或者在顶级框架中,那么它与目标 _self 等效。
- _top这个目标使得文档载入包含这个超链接的窗口,用 _top 目标将会清除所有被包含的框架并将文档载入整个浏览器窗口。
提示:这些 target 的所有 4 个值都以下划线开始。任何其他用一个下划线作为开头的窗口或者目标都会被浏览器忽略,因此,不要将下划线作为文档中定义的任何框架 name 或 id 的第一个字符。 - framename在指定的框架中打开被链接文档,把frame看做内置浏览器。
framename用法参考以下资料。
参考
对target="framename"的理解(实现分页的demo) - tattoos,
HTML中的target属性之framename,
关于framename的,HTML <a> 标签的 target 属性
title 和 alt有什么区别?
首先明确一下概念,alt是html标签的属性,而title既是html标签,又是html属性。title标签这个不用多说,网页的标题就是写在<title></title>这对标签之内的。title作为属性时,用来为元素提供额外说明信息。例如,给超链接标签a添加了title属性,把鼠标移动到该链接上面是,就会显示title的内容,以达到补充说明或者提示的效果。而alt属性则是用来指定替换文字,只能用在img、area和input元素中(包括applet元素),用于网页中图片无法正常显示时给用户提供文字说明使其了解图像信息。注意,alt是替代图像作用而不是提供额外说明文字的。
alt属性是在你的图片因为某种原因不能加载时在页面显示的提示信息,它会直接输出在原本加载图片的地方,而title属性是在你鼠标悬停在该图片上时显示一个小提示,鼠标离开就没有了,有点类似jQuery的hover,另外,HTML的绝大多数标签都支持title属性,title属性就是专门做提示信息的。
补充知识:<TITLE><ALT>里面如何多行换行?在源代码里Enter回车。
如何新窗口打开链接?
答:设置target=_blank
即可在新窗口中打开链接。
四,display: none , visibility: hidden, opacity:0 有什么作用?有什么区别?
答:这三个属性的作用都是让元素在页面上不可见。
区别:
- 但是在具体到不可见的元素是否可以点击以及元素在页面上是否占居空间却表现不同。
{ display: none; /* 不占据空间,无法点击 */ } { visibility: hidden; /* 占据空间,无法点击 */ } { opacity: 0; filter:Alpha(opacity=0); /* 占据空间,可以点击 ,触发事件*/ }
- display属性设定为“none”的元素将不产生任何的框(Box),也就是说,元素对布局没有影响,浏览器将不显示该元素,包括其后代元素。更不会占位。
而如果设定“visibility : hidden” 或者"opacity:0"则会生成元素框,只是元素“不可视”,而其他非视觉的属性都将生效,例如widht、padding
等。 -
display:none
隐藏产生reflow
和repaint
(回流与重绘),而visibility:hidden
没有这个影响前端性能的问题。 - 一旦父节点元素应用了
display:none
,父节点及其子孙节点元素全部不可见。而如果父节点应用了visibility:hidden
声明,子孙元素应用了visibility:visible
,那么这个子孙元素又会显现出来. - 当
display:none
属性在外部css文件中,或者在<head> <style>
标签内时。body
内对应的元素不会被加载。如果放在标签内部,则会被加载。如:<p><img src="jirengu/logo.png" style="display:none;">图片</p>
则图片会被加载,不会被显示。
参考资料:
css元素隐藏原理及display:none和visibility:hidden
display:none和visibility:hidden的区别
五,如何去除 a 链接的默认样式?直接在 a 链接父容器添加颜色,能否继承到当前 a 链接上?
答:在a标签的text-decoration属性值设置为none。即可去除a标签的默认样式。即text-decoration:none
直接在a标签的父容器上添加颜色,不能继承到当前的a标签上。a标签的颜色需要单独在a标签上定义。
但是a标签的字体大小等属性可以继承父容器的样式。