CSS基础5-定位和元素转化

模块回顾

1.position定位

2.元素转化

一、定位

css中用postion定位一般有4中,

1)固定定位(fixed)

2)相对定位(relative)

3)绝对定位(absolute)

4)静态定位(static)

1.fixed:固定元素框不随页面的滚动而滚动,固定在一个地方不会变动。例如:

 1 <div id="dog1">
 2     <div id="dog2"><a href="#"><img src="360-dog.png" alt="" id="l1"></a></div>
 3     <div id="dog3">
 4     <div ><img src="360-star.png" alt="" class="l2"></div>
 5     <div id="dog5"><a href="#" class="o1">娱乐</a></div>
 6     </div>
 7     <div id="dog6">
 8     <div ><img src="360-play.png" alt="" class="l2"></div>
 9     <div id="dog8"><a href="#" class="o1">看片</a></div>
10     </div>
11     <div id="dog9">
12     <div ><img src="360-shopping.png" alt="" class="l2"></div>
13     <div id="dog11"><a href="#" class="o1">购物</a></div>
14     </div>
15     <div id="dog12">
16     <div ><img src="360-game.png" alt="" class="l2"></div>
17     <div id="dog14"><a href="#" class="o1">游戏</a></div>
18     </div>
19     <div id="dog15">
20     <div id="dog16"><img src="360-coffee.png" alt="" class="l2"></div>
21     <div id="dog17"><a href="#" class="o1">生活</a></div>
22     </div>
23     <div id="dog18">
24     <div id="dog19"><img src="360-money.png" alt="" class="l2"></div>
25     <div id="dog20"><a href="#" class="o1">借钱</a></div>
26     </div>
27     <div id="dog21">
28     <a href="#" id="dog22">星座运势</a>
29     </div>
HTML-fixed
#dog1{
    border: 0px black solid;
    height: 350px;
    width: 75px;
    position: absolute;
    right: 30px;
    top: 57px;
    position: fixed;
}
#dog2{
    border: 0px black solid;
}
#l1{
    width: 74px;
    height: 80px
}
#dog3{
    border: 0px black solid;
    height: 30px;
    width: 70px;
    position: absolute;
    top: 85px;
    left: 2px;
    background-color: #f7f7f7;
}
.l2{
    height: 30px;
    width: 30px;
}
.o1{
    text-decoration: none;
    color: gray;
    font-size: 14px;
}
#dog4{
    border: 0px black solid;
    position: absolute;
    left: 2px;
    bottom: 0px;
}
#dog5{
    border: 0px black solid;
    height: 30px;
    position: absolute;
    left: 30px;
    top: 4px;
}
#dog6{
    border: 0px black solid;
    height: 30px;
    width: 70px;
    position: absolute;
    top: 120px;
    left: 2px;
    background-color: #f7f7f7;
}
#dog9{
    border: 0px black solid;
    height: 30px;
    width: 70px;
    position: absolute;
    top: 155px;
    left: 2px;
    background-color: #f7f7f7;
}
#dog12{
    border: 0px black solid;
    height: 30px;
    width: 70px;
    position: absolute;
    top: 190px;
    left: 2px;
    background-color: #f7f7f7;
}
#dog7{
    border: 0px black solid;
    position: absolute;
    left: 2px;
    bottom: 0px;
}
#dog10{
    border: 0px black solid;
    position: absolute;
    left: 2px;
    bottom: 0px;
}
#dog13{
    border: 0px black solid;
    position: absolute;
    left: 2px;
    bottom: 0px;
}
#dog8{
    border: 0px black solid;
    height: 30px;
    position: absolute;
    left: 30px;
    top: 3px;
}
#dog11{
    border: 0px black solid;
    height: 30px;
    position: absolute;
    left: 30px;
    top: 3px;
}
#dog14{
    border: 0px black solid;
    height: 30px;
    position: absolute;
    left: 30px;
    top: 3px;
}
#dog15{
    border: 0px black solid;
    height: 30px;
    width: 70px;
    position: absolute;
    top: 225px;
    left: 2px;
    background-color: #f7f7f7;
}
#dog18{
    border: 0px black solid;
    height: 30px;
    position: absolute;
    top: 260px;
    width: 70px;
    left: 2px;
    background-color: #f7f7f7;
}
#dog17{
    border: 0px black solid;
    height: 30px;
    position: absolute;
    left: 30px;
    top: 3px;
}
#dog20{
    border: 0px black solid;
    height: 30px;
    position: absolute;
    left: 30px;
    top: 3px;
}
#dog21{
    border: 0px black solid;
    height: 30px;
    position: absolute;
    top: 295px;
    width: 70px;
    left: 2px;
    background-color: #f7f7f7;
}
#dog22{
    color: orangered;
    font-size:14px ;
    text-decoration: none;
    position: absolute;
    margin: 6px
}
.o1:hover{
    color: yellowgreen;
}
.o1:visited{
    color: gray;
}
fixed

2.相对定位:相对于自身未设置相对定位前的位置进行移动,引用chensiqi的一句话是“老家留坑,形影分离”,一般就是给绝对定位当参考,子承父。

div1{
    width: 300px;
    height: 300px;
    background-color: red;
    position: relative;
left:10px;
bottom:5px;
}
relative

3.绝对定位:

绝对定位的盒子是相对于离它最近的一个已定位的盒子进行定位的(默认是body);注意css描述的绝对定位概念,没有说明是离他最近的一个已相对定位的盒子进行定位的,所以离他最近的盒子的定位可以是相对定位(relative)和绝对定位(absolute)的,但是在开发中,一般是父盒子设置相对定位的,但是不代表只能是相对定位。

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<link rel="stylesheet" href="D7CSSTest03.css">
</head>

<body>
<div id="d1">
</div>
</body>
</html>
absolute
#div1{
position:absolute;
left:30px;
right:30px;
top:50px;
}
absolute

二、元素转化

常用的块状元素有:<div>,<p>,<h1>~<h6>,<ol>,<ul>,<dl>,<table>,<form>,<address>,<blockquote>

常用的行内元素有:<a>,<span>,<br>,<i>,<em>,<strong>,<label>,<img>,<input>,<q>,<var>,<cite>,<code>

1.行内元素

行内元素最常使用的就是span,其他的只在特定功能下使用,修饰字体<b>和<i>标签,还有<sub>和<sup>这两个标签可以直接做出平方的效果,而不需要类似移动属性的帮助,很实用。行内元素特征:(1)设置宽高无效(2)对margin仅设置左右方向有效,上下无效;padding设置上下左右都有效,即会撑大空间(3)不会自动进行换行。

display:inline

2.块状元素

  块状元素代表性的就是div,其他如p、nav、aside、header、footer、section、article、ul-li、address等等,都可以用div来实现。不过为了可以方便程序员解读代码,一般都会使用特定的语义化标签,使得代码可读性强,且便于查错。块状元素特征:(1)能够识别宽高(2)margin和padding的上下左右均对其有效(3)可以自动换行(4)多个块状元素标签写在一起,默认排列方式为从上至下。

display:block

3.行内块状元素

  行内块状元素综合了行内元素和块状元素的特性,但是各有取舍。因此行内块状元素在日常的使用中,由于其特性,使用的次数也比较多。

  行内块状元素特征:(1)不自动换行(2)能够识别宽高(3)默认排列方式为从左到右。displa:inline-block

4.转化

块级元素默认display:block;行内非替换元素(a,span)默认为display:inline;;行内替换元素(input)默认为display:inline-block;

display:none;不显示该元素,也不会保留该元素原先占有的文档流位置。

display:block;转换为块级元素。

display:inline;转换为行内元素。

display:inline-block;转换为行内块级元素。
通过display:block;与display:inline;可以很容易的实现两类元素变现形式之间的转换。

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<link rel="stylesheet" href="D7CSSTest04.css">
</head>

<body>
<div id="d1">
    <div id="d2"></div>
    <div id="d3"></div>
</div>
<div id="d4">原来你是我最想留住的幸运</div>
<div id="d5">原来我们和爱情曾经靠的那么近</div>
<p>我听见<span id="s1">远方</span>下课钟声响起</p>
</body>
</html>
display
/* CSS Document */
#d1{
    width: 300px;
    height: 300px;
    background-color: red;
    position: relative;
}
#d2{
    width: 50px;
    height: 50px;
    background-color: blue;
    position: absolute;
    right: 50px;
    top: 50px;
    z-index: 2;
/*    绝对定位,根据上一级父元素谁有position属性,就根据谁定位,最大也就找到body,根据body定位*/
}
#d3{
    width: 50px;
    height: 50px;
    background-color: yellow;
    position: absolute;
    right: 40px;
    top: 40px;
    z-index: 3
}
#d4{
    width: 200px;
    height: 200px;
    background-color: yellowgreen;
    border: 1px solid black;
    display:inline;
/*    块状转内联元素*/
}
#d5{
    width: 200px;
    height: 200px;
    background-color: yellowgreen;
    border: 1px solid black;
}
#s1{
    color: red;
    width: 100px;
    height: 100px;
    margin: 10px;
    background-color: blue;
    display: block;
/*    内联转块状元素*/
}
display-css
原文地址:https://www.cnblogs.com/LuckyGJX/p/8466903.html