line-height
行高是指文本行基线间的垂直距离
关于行高 行距 基线等概念的图例:
在div中使文字垂直居中
代码:
<style>
div {
border: 1px solid #ccc;
width: 200px;
height: 80px;
font-size: 14px;
line-height: 80px;
color: #fof;
text-align: center;
}
</style>
</head>
<body>
<div>
这里是饥人谷
</div>
</body>
效果:
原理:
当height与line-height值相同,文字被挤压到了中央。
在div中使图片垂直居中
代码:
<style>
div {
height: 300px;
width: 300px;
background-color: #ccc;
display: table-cell;
vertical-align: middle;
text-align: center;
}
</style>
</head>
<body>
<div>
![](http://upload-images.jianshu.io/upload_images/2772338-d605489fc575a11e?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
</div>
</body>
效果:
原理:vertical-align: middle;
只能在表格中使用,display: table-cell;
使div以表格形式渲染,以使用vertical-align: middle;
.
查询css属性在个浏览器中的兼容性
在can i use进行查询
关于a标签的用法
<a>
用于定义一个超链接到同一页上的某个位置,或者在网络上的任何其它页面。
href
<a>
元素最重要的属性是 href 属性,它指示链接的目标
<a href="http://www.w3school.com.cn">W3School</a>
在所有浏览器中,链接的默认外观是:
未被访问的链接带有下划线而且是蓝色的
已被访问的链接带有下划线而且是紫色的
活动链接带有下划线而且是红色的
<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"
)
title###
<a>
标签中title作为属性使用,用来为<a>
元素提供额外说明信息。例如,给超链接标签a添加了title属性,把鼠标移动到该链接上面是,就会显示title的内容,以达到补充说明或者提示的效果。
如:
<a href="http://www.baidu.com" title=一个搜索引擎 target=_blank>baidu</a>
其效果为
target
<a>
标签的 target 属性规定在何处打开链接文档。
特殊的目标
有 4 个保留的目标名称用作特殊的文档重定向操作:
_blank
浏览器总在一个新打开、未命名的窗口中载入目标文档。
_self
这个目标的值对所有没有指定目标的 <a>
标签是默认目标,它使得目标文档载入并显示在相同的框架或者窗口中作为源文档。这个目标是多余且不必要的,除非和文档标题 <base> 标签中的 target 属性一起使用。
_parent
这个目标使得文档载入父窗口或者包含来超链接引用的框架的框架集。如果这个引用是在窗口或者在顶级框架中,那么它与目标 _self 等效。
_top
这个目标使得文档载入包含这个超链接的窗口,用 _top 目标将会清除所有被包含的框架并将文档载入整个浏览器窗口。
提示:这些 target 的所有 4 个值都以下划线开始。任何其他用一个下划线作为开头的窗口或者目标都会被浏览器忽略,因此,不要将下划线作为文档中定义的任何框架 name 或 id 的第一个字符。
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
例如:
<a href="http://www.baidu.com" title=一个搜索引擎 target=_blank>baidu</a>
表格
<table>
定义表格
<th>
定义表格的表头
<tr>
定义表格的行
<td>
定义表格单元(列).
例子:
<style>
table {
width: 500px;
border-collapse: collapse;
text-align: center;
}
table th {
background: blue;
border: 1px solid #ccc;
padding: 5px;
}
table td {
border: 1px solid #ccc;
padding: 5px;
}
tr:hover {
background: #eee
}
</style>
</head>
<body>
<table>
<tr>
<th>姓名</th>
<th>性别</th>
</tr>
<tr>
<td>小明</td>
<td>男</td>
</tr>
<tr>
<td>小花</td>
<td>女</td>
</tr>
</table>
</body>
效果:
原理:
border-collapse: collapse;
合并边框
tr:hover
在鼠标放上去后改变效果
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>[站外图片上传中……(2)]图片</p>
则图片会被加载,不会被显示。
如何去除 a 链接的默认样式?直接在 a 链接父容器添加颜色,能否继承到当前 a 链接上?##
在a标签的text-decoration属性值设置为none。即可去除a标签的默认样式。即text-decoration:none
。
直接在a标签的父容器上添加颜色,不能继承到当前的a标签上。a标签的颜色需要单独在a标签上定义。
但是a标签的字体大小等属性可以继承父容器的样式。