css基础--Display(显示) and Visibility(可见性)and position (定位)

首先,我在这里有必要说一下display:none;和visibility:hidden;这两者之间的区别

简单得来说,使用display:none的时候,使用它的那个标签在页面上是不会占用空间的。

而visibity:hidden;则会在页面上留出哪部分的空白区域。

display可以更改内联元素和块元素,反之亦然,可以使页面看起来是以一种特定的方式组合,并仍然遵循web标准。

下面的示例显示为内联元素的列表项:

1 li{
2    display:inline:
3 }

下面的示例是把span元素作为块元素:

1 span
2   {
3   display:block;
4 }

Position(定位)

CSS定位属性允许你为一个元素定位。它也可以将一个元素放在另一个元素后面,并指定一个元素的内容太大时,应该发生什么。

元素可以使用的顶部,底部,左侧和右侧属性定位。然而,这些属性无法工作,除非是先设定position属性。他们也有不同的工作方式,这取决于定位方法。

Fixed 定位

元素的位置相对于浏览器窗口是固定位置。

即使窗口是滚动的它也不会移动:

div{
  position:fixed;
  top:30px;
  right:30px;
}

Note: Fixed定位使元素的位置与文档流无关,因此不占据空间。

Fixed定位的元素和其他元素重叠。

Relative 定位

相对定位元素的定位是相对其正常位置。

示例如下:

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <style>
 5 h2.pos_left
 6 {
 7 position:relative;
 8 left:-20px;
 9 }
10
11 h2.pos_right
12 {
13 position:relative;
14 left:20px;
15 }
16 </style>
17 </head>
18
19 <body>
20 <h2>This is a heading with no position</h2>
21 <h2 class="pos_left">This heading is moved left according to its normal position</h2>
22 <h2 class="pos_right">This heading is moved right according to its normal position</h2>
23 <p>Relative positioning moves an element RELATIVE to its original position.</p>
24 <p>The style "left:-20px" subtracts 20 pixels from the element‘s original left position.</p>
25 <p>The style "left:20px" adds 20 pixels to the element‘s original left position.</p>
26 </body>
27
28 </html>
29             

Absolute 定位

绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的位置相对于<html>。

1 h2
2 {
3 position:absolute;
4 left:100px;
5 top:150px;
6 }

重叠的元素

元素的定位与文档流无关,所以它们可以覆盖页面上的其它元素

z-index属性设置一个元素的堆叠顺序(哪个元素应该放在前面,或后面)负数表示放在后面,正数表示该放在前面。

一个元素可以有正数或负数的堆叠顺序:

1 img{
2   position:absolute;
3   left:0px;
4   top:0px;
5   z-index:-1}

伪类:

导航栏:

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <style>
 5 ul
 6 {
 7 list-style-type:none;
 8 margin:0;
 9 padding:0;
10 overflow:hidden;
11 }
12 li
13 {
14 float:left;
15 }
16 a:link,a:visited
17 {
18 display:block;
19 width:120px;
20 font-weight:bold;
21 color:#FFFFFF;
22 background-color:#98bf21;
23 text-align:center;
24 padding:4px;
25 text-decoration:none;
26 text-transform:uppercase;
27 }
28 a:hover,a:active
29 {
30 background-color:#7A991A;
31 }
32
33 </style>
34 </head>
35
36 <body>
37 <ul>
38 <li><a href="#home">Home</a></li>
39 <li><a href="#news">News</a></li>
40 <li><a href="#contact">Contact</a></li>
41 <li><a href="#about">About</a></li>
42 </ul>
43 </body>
44 </html>            

截图如下:

透明度:

点击之后即可恢复原图。

img
{
opacity:0.4;
filter:alpha(opacity=40); /* For IE8 and earlier */
}
img:hover
{
opacity:1.0;
filter:alpha(opacity=100); /* For IE8 and earlier */
}
时间: 2024-10-24 23:06:53

css基础--Display(显示) and Visibility(可见性)and position (定位)的相关文章

[转]CSS Display(显示) 与 Visibility(可见性)

CSS Display(显示) 与 Visibility(可见性) display属性设置一个元素应如何显示,visibility属性指定一个元素应可见还是隐藏. Box 1 Box 2 Box 3 隐藏元素 - display:none或visibility:hidden 隐藏一个元素可以通过把display属性设置为"none",或把visibility属性设置为"hidden".但是请注意,这两种方法会产生不同的结果. visibility:hidden可以隐

CSS样式“display:none”与“visibility:hidden”区别

CSS样式“display:none”和“visibility:hidden”都可以实现将页面元素隐藏,但是具体的效果是有差别的!下面通过两个小实验来说明这种差异. 实验代码: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>none</title> 5 <meta charset="utf-8"> 6 <style type="text/css"

CSS的display显示

CSS的display显示 1. 行内元素和块级元素关系 块级元素:1.标题标签:h1~h6:2.段落标签:p1~p6:3.div:4.列表:等 行内元素:1.span:2.a:3.img:4.strong:等 二者关系: 行内元素可以包含在块级元素中: 块级元素不可以包含在行内元素中: 因此,导致一个问题:当想把块级元素放在一行时,会有问题.因此,出现了解决方案:display 2. 把块级元素放在一行 CSS语法格式:标签名 {display:inline;} 举例:列表是块元素,将其放在一

CSS Display(显示) 与 Visibility(可见性)

display属性设置一个元素应如何显示,visibility属性指定一个元素应可见还是隐藏. Box 1 Box 2 Box 3 隐藏元素 - display:none或visibility:hidden 隐藏一个元素可以通过把display属性设置为"none",或把visibility属性设置为"hidden".但是请注意,这两种方法会产生不同的结果. visibility:hidden可以隐藏某个元素,但隐藏的元素仍需占用与未隐藏之前一样的空间.也就是说,该

CSS样式display:none和visibility:hidden的区别

同样是隐藏,display:none与visibility:hidden有什么区别呢? 虽然display:none与visibility:hidden都能达到隐藏可见元素的作用(视觉上),但事实上,visibility:hidden却占据了空间,width.height等属性依然被加载出来,它就像个透明人,会依然占据空间. 因此,在html+css布局的时候,根据需要,如果元素需要被隐藏但又要保留位置,那么就用visibility:hidden,如果要让元素彻底隐藏且不占据空间位置,那么dis

个人收集(转载)CSS中 display:none和visibility:hidden的区别

visibility和display两个属性都有隐藏元素的功能,display:none和visibility:hidden的区别,简单的总结一句话就是:visibility:hidden隐藏,但在浏览时保留位置:而display:none视为不存在,且不加载! 1.visibility:hidden--为隐藏的对象保留其物理空间 HTML元素(对象)仅仅是在视觉上看不见(完全透明),而它所占据的空间位置仍然存在. 2.display: none--不为被隐藏的对象保留其物理空间 HTML元素(

css基础 display:block 行内标签转为块级标签

礼悟:    公恒学思合行悟,尊师重道存感恩.叶见寻根三返一,江河湖海同一体.          虚怀若谷良心主,愿行无悔给最苦.读书锻炼养身心,诚劝且行且珍惜.              ide:visual studio 2017             browser:Chrome                     os:win7 代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8&qu

css基础 display:inline 块级标签-&gt;行内标签 简单示例

礼悟:    公恒学思合行悟,尊师重道存感恩.叶见寻根三返一,江河湖海同一体.          虚怀若谷良心主,愿行无悔给最苦.读书锻炼养身心,诚劝且行且珍惜.              ide:visual studio 2017             browser:Chrome                     os:win7 代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8&qu

css基础 display 解决图片与基线对齐而产生的缝隙问题

礼悟:    公恒学思合行悟,尊师重道存感恩.叶见寻根三返一,江河湖海同一体.          虚怀若谷良心主,愿行无悔给最苦.读书锻炼养身心,诚劝且行且珍惜.              ide:visual studio 2017             browser:Chrome                     os:win7 代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8&qu