Block块级元素

块级元素特点:

  1. 每个块级元素都从新的一行开始,并且其后的元素也另起一行。(很霸道,一个块级元素独占一行)

  2. 元素的高度、宽度、行高以及顶和底边距都可设置。

  3. 元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度。

    file

下面这些标签 每个占一行:

<h1>, <p>, <ul>, <li>, <table>, <blockquote>, <pre>, <div>
<form> , <header>, <nav> 

file

<!DOCTYPE html>
<html>
    <head>
        <title>title</title>
    </head>
    <body>
        <h1 style="background-color: red">h1</h1>     
        <div style="background-color: aqua">div</div>     
        <p style="background-color: yellow">p</p>     
        <pre style="background-color: green">pre</pre> 

    </body>
</html>

inline内联元素

内联元素特点:

  1. 和其他元素都在一行上;

  2. 元素的高度、宽度及顶部和底部边距不可设置;

  3. 元素的宽度就是它包含的文字或图片的宽度,不可改变。
    file

下面这些标签是属于内链标签:

<a>, <img>, <strong>, <em>, <br>, <input>, <span> 

例如:

<!DOCTYPE html>
<html>
    <head>
        <title>title</title>
    </head>
    <body>
        <em style="background-color: red">em</em>     
        <span style="background-color: aqua">span</span>     
        <img src="apple.jpeg" width="60" height="60" />     
        <a href="http://www.w3c.org">a 요소</a> 

    </body>
</html>

file

display属性

display 属性规定元素应该生成的框的类型。
none 此元素不会被显示。
block 此元素将显示为块级元素,此元素前后会带有换行符。
inline 默认。此元素会被显示为内联元素,元素前后没有换行符。

来看个例子:
file
因为是li标签(属于block块级元素)所以每个占一行
如果我们想把它们都显示为一行 我们就需要设置display:inline属性

file

<!DOCTYPE html>
<html>
 <head> 
    <title>display</title> 
    <style>         
    .menubar li {             
    display: inline;             
    background-color: yellow;             
    border: 1px solid;             
    border-color: red;             
    margin: 0;             
    padding: .5em;}     
   </style> 
</head> 
 <body> 
    <ul class="menubar"> 
     <li><a href="”#”">主页</a></li> 
     <li><a href="”#”">公司介绍</a></li> 
     <li><a href="”#”">产品介绍</a></li> 
     <li><a href="”#”">问题咨询</a></li> 
     <li><a href="”#”">联系方式</a></li> 
    </ul>   
 </body>
</html>

CSS定位布局

静态定位(Static Positioning)

是所有元素的默认定位方式。静态定位的元素不会受到 top, bottom, left, right影响。
默认情况都是静态定位
file

相对定位(Relative Positioning)

position: relative;

元素框偏移某个距离。元素仍保持其未定位前的形状,它原本所占的空间仍保留。

file

假设去掉相对定位的代码
file

我们发现left:30px并没有起到作用 是因为默认是静态定位,静态定位的元素不会受到top bottom left right的影响
这个时候就需要用到相对定位

绝对定位(Absolute Positioning)

设置 position: absolute; 的元素会相对于最近的定位祖先进行定位
file
当我们把top改成0px以后
file
可以发现他是相对于最近的进行定位

固定定位(Fixed Positioning)

position: fixed; 的元素是相对于视口定位的,这意味着即使滚动页面,它也始终位于同一位置。 top、right、bottom 和 left 属性用于定位此元素。

file
始终保持在一个位置

float图片浮动属性

left 元素向左浮动。
right 元素向右浮动。
none 默认值。元素不浮动,并会显示在其在文本中出现的位置。

下面这个例子将图片右浮动:

img
  {
  float:right;
  }

file

clear属性

clear 属性规定元素的哪一侧不允许其他浮动元素。

left 在左侧不允许浮动元素。
right 在右侧不允许浮动元素。
both 在左右两侧均不允许浮动元素。
none 默认值。允许浮动元素出现在两侧。
inherit 规定应该从父元素继承 clear 属性的值。

没有clear属性的时候
file
加上clear:both以后
file

z-index堆叠属性

z-index 属性设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。

file

例如
file
再来看一个例子
file

CSS尺寸

height 设置元素的高度。
max-height 设置元素的最大高度。
max-width 设置元素的最大宽度。
min-height 设置元素的最小高度。
min-width 设置元素的最小宽度。
width 设置元素的宽度。

当浏览器缩小到一定程度时,元素中的布局可能会发生变化。如果想要保持布局不变,可以给该元素(如div)设置最小宽度属性。
把浏览器宽度缩小到min-width以下像素的时候,这个div不会再缩小,而浏览器就会产生滚动条
例如:

p
  {
  max-height:100px;
  }

overflow

overflow 属性规定当内容溢出元素框时发生的事情。

  • visible 默认值。内容不会被修剪,会呈现在元素框之外。
  • hidden 内容会被修剪,并且其余内容是不可见的。
  • scroll 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
  • auto 如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。
  • inherit 规定应该从父元素继承 overflow 属性的值。
    例如:
    file

div元素的布局

file
file
回顾一下,float:left表示元素向左浮动
clear:both表示在左右两侧均不允许浮动元素。

<!DOCTYPE html>
<html>
 <head> 
  <title>My Blog Page</title> 
  <style> 

  #header {     
    background-color: yellow;     
    width: 100%;     
    height: 50px; }
  #nav {     
    width: 30%;     
    background-color: red;     
    height: 100px;     
    float: left; }
  #content {     
    width: 70%;     
    background-color: blue;     
    float: right;     
    height: 100px; } 
  #footer {     
    background-color: aqua;     
    width: 100%;     
    height: 50px;     
    clear: both; } 
  </style> 
 </head> 
 <body> 
  <div id="wrapper"> 
       <div id="header">header </div> 
       <div id="nav">nav</div> 
       <div id="content">content </div> 
       <div id="footer">footer </div> 
  </div>   
 </body>
</html>
最后修改:2022 年 03 月 08 日
如果觉得我的文章对你有用,请随意赞赏