css:元素显示模式(块元素、行内元素、行内块元素)

1、什么是元素的显示模式

作用:网页的标签非常多,在不同的地方会用到不同类型的标签,了解他们的特点可以更好地布局我们的网页

元素的显示模式就是元素以什么方式来进行显示,比如

自己独占一行,一行又可以放多个

html一般分为块元素和行内元素两种类型

 

2、块元素

(1)常见的块元素:

常见的块元素有:

-

    1. (2)特点

      自己独占一行

      高度、宽度、外边距以及内边距都可以控制

      宽度默认是容器的100%

      是一个容器级盒子,里面可以存放行内或者块级元素

      (3)举例

      <html>
          <head>
              <meta charset="utf-8">
              <title>title>
              <style>
                  div{
                      width: 300px;
                      height: 200px;
                      background-color: darkgoldenrod;
                  }
              style>
          head>
      
          <body>
              <div>你好,今天是星期天div>    
              <p>123p>
          body>
      
      html>

      css:元素显示模式(块元素、行内元素、行内块元素)_第1张图片

       

       即使一行中还有其他元素,也不会在后面显示,而是重新开始新的一行

      <html>
          <head>
              <meta charset="utf-8">
              <title>title>
              <style>
                  div{
                      height: 200px;
                      background-color: darkgoldenrod;
                  }
              style>
          head>
      
          <body>
              <div>你好,今天是星期天div>    
              <p>123p>
          body>
      
      html>

      css:元素显示模式(块元素、行内元素、行内块元素)_第2张图片

       

       不设置宽度的时候默认占满整个浏览器

      (3)注意

      文字类内的元素不能使用块级元素,例如:

      标签主要用于存放文字,因此

      标签内部不能使用块级元素,特别是不能存放

      ,同理,

      ---

      都是文字类块级标签,里面也不能存放其他块级元素

       

      3、行内元素

      常见的行内元素有等,其中标签是最典型的行内标签,也可以称为内联元素

      (1)相邻行内元素在一行上,一行可以显示多个行内元素

      <html>
          <head>
              <meta charset="utf-8">
              <title>title>
              <style>
              
              style>
          head>
      
          <body>
              <span>你好span>
              <strong>hellostrong>
              <a href="#">新闻a>
          body>
      
      html>

       

       (2)高度和宽度的设置时无效的:

      <html>
          <head>
              <meta charset="utf-8">
              <title>title>
              <style>
                   span{
                       width: 200px;
                       height: 300px;
                       background-color: yellow;
                   }
              style>
          head>
      
          <body>
              <span>你好span>
              <strong>hellostrong>
              <a href="#">新闻a>
          body>
      
      html>

       

       (3)默认的高度就是它的内容本身的元素:

      <html>
          <head>
              <meta charset="utf-8">
              <title>title>
              <style>
                   strong{
                       width: 200px;
                       background-color: yellow;
                   }
              style>
          head>
      
          <body>
              <span>你好span>
              <strong>hello<br>niahostrong>
          body>
      
      html>

       

       (4)行内元素只能存放文本或其他行内元素:

      <html>
          <head>
              <meta charset="utf-8">
              <title>title>
              <style>
                   strong{
                       width: 200px;
                       background-color: yellow;
                   }
              style>
          head>
      
          <body>
              <span>世上无难事,<strong>只要肯攀登strong>span>
          body>
      
      html>

       

      (5)链接标签里面不能再包含其它链接标签 

      (6)标签可以存放块级元素

      <html>
          <head>
              <meta charset="utf-8">
              <title>title>
              <style>
                   .div1{
                       width: 200px;
                       height: 100px;
                       background-color: yellow;
                   }
                   .div2{
                       width: 200px;
                       height: 200px;
                       background-color: red;
                   }
              style>
          head>
      
          <body>
              <a href="#">
                  <div class="div1">div>
                  <div class="div2">div>
              a>
          body>
      
      html>

      css:元素显示模式(块元素、行内元素、行内块元素)_第3张图片

       

       

      4、行内块元素

      在行内元素中有几个特殊的标签:、,他们同时具有块元素和行内元素的特点,称为行内块元素

      (1)特点

      和相邻行内元素在一行上(行内块),但是它们之间会有白色空隙,一行可以显示多个

      默认宽度就是它本身内容的宽度

      高度、行高、外边距以及内边距都可以控制

      (2)示例

      <html>
      
          <head>
              <meta charset="utf-8">
              <title>title>
              <style>
                  input {
                      height: 100px;
                      width: 200px;
                  }
              style>
          head>
      
          <body>
              <input type="text" />
              <input type="text" />
          body>
      
      html>

      css:元素显示模式(块元素、行内元素、行内块元素)_第4张图片

       

      5、元素显示模式的转换

      有的时候一个模式的元素需要另外一种模式的特性

      (1)行内元素转换为块级元素:

      <html>
      
          <head>
              <meta charset="utf-8">
              <title>title>
              <style>
                  a{
                      width: 100px;
                      height: 50px;
                      background-color: greenyellow;
                      /*把行内元素转换为块级元素*/
                      display: block;
                  }
              style>
          head>
      
          <body>
              <a href="#">新闻a>
          body>
      
      html>

       

       此时的链接已经由行内元素转换成了块级元素,此时,链接具有宽度和高度

      (2)块级元素转换为行内元素:

      <html>
      
          <head>
              <meta charset="utf-8">
              <title>title>
              <style>
                  .class1{
                      width: 100px;
                      height: 50px;
                      background-color: greenyellow;
                      /*把块级元素转换为行内元素*/
                      display:inline;
                  }
                  .class2{
                      width: 100px;
                      height: 50px;
                      background-color:red;
                      display: inline;
                  }
              style>
          head>
      
          <body>
              <div class="class1">你好div>
              <div class="class2">hellodiv>
          body>
      
      html>

       

       可以看到,高度和宽度属性已经不起作用了,由块级元素转换为行内元素

      (3)行内块元素

      <html>
      
          <head>
              <meta charset="utf-8">
              <title>title>
              <style>
                  span{
                      width: 100px;
                      height: 50px;
                      background-color: greenyellow;
                      /*把块级元素转换为行内元素*/
                      display:inline-block;
                  }
              style>
          head>
      
          <body>
              <span>123span>
              <span>456span>
          body>
      
      html>

       

你可能感兴趣的:(css:元素显示模式(块元素、行内元素、行内块元素))