css----display(显示) 与 Visibility(可见性)
隐藏元素
隐藏一个元素可以通过把display属性设置为"none",或把visibility属性设置为"hidden"。但是请注意,这两种方法会产生不同的结果。
visibility:hidden可以隐藏某个元素,但隐藏的元素仍需占用与未隐藏之前一样的空间。也就是说,该元素虽然被隐藏了,但仍然会影响布局。
display:none可以隐藏某个元素,且隐藏的元素不会占用任何空间。也就是说,该元素不但被隐藏了,而且该元素原本占用的空间也会从页面布局中消失。
display可能的值
部分属性详解:
1. block
特点:1)独占一行;
2)元素的高度,宽度,行高以及顶和底边距均可设置;
3)不设置宽度时,宽度撑满一行;
块级元素有:<div> , <p> , <h1> .. <h6> , <ol> , <ul> , <dl> , <table> , <address> , <blockquote> , <form> , <article> , <header> , <footer> , <nav> , <section> , <html> , <body> 等;
不支持样式:vertical-align;
2. inline
特点:1)和其他元素在一行;
2)内容撑开宽度,即元素的宽度就是它包含的文字或图片的宽度,不可改变;
3)宽高不可设置;
4)代码换行被解析成空格;
内联元素有:<a> , <span> , <br> , <i> , <em> , <strong> , <label> , <q> , <var> , <cite> , <code> , <area> , <del> , <label> , <map> , <mark> , <output> , <pre> 等;
不支持样式:background-position ;clear ;clip ;height | max-height | min-height ;width | max-width | min-width ;overflow ;text-align ;text-indent ;text-overflow;
3. inline-block
特点:1)不设置宽高时,内容撑开高度;
2)非独占一行;
3)可设置宽高;
4)代码换行被解析成空格;
标签:<audio> ,<button>,<canvas>,<embed>,<iframe>,<img>,<input>,<keygen>,<meter>,<object>,<progress>,<select>,<textarea>,<video>
不支持样式:clear ;
4. none
特点:隐藏元素并脱离文档流;
标签:<base>,<link>,<meta>,<title>,<datalist>,<dialog>,<param>,<script>,<source>,<style>
5. list-item
特点:1)不设宽度时,宽度撑满一行;
2)独占一行;
3)可设置宽高;
6. table
特点:1)不设置宽度时,宽度由内容撑开;
2)非独占一行;
3)支持宽高;
4)默认具有表格特征,可设置table-layout、border-collapse、border-spacing等表格专有属性;
7. table-cell
特点:1)不设置宽度时,宽度由内容撑开;
2)非独占一行;
3)支持宽高;
4)垂直对齐;
5)同级等高;