当前位置:   article > 正文

DIV+CSS布局(一)_div元素css

div元素css

目录

1.页面布局常用标签

2.页面布局常用选择器

3.页面布局常用属性

3.1页面布局常用属性(一)

3.2页面布局常用属性(二)

3.2.1浮动属性:

3.2.2CSS清除浮动(!)


1.页面布局常用标签

  1. <div></div>无意义块状元素标签
  2. <span></span>无意义行内元素标签
  3. <p></p>段落标签
  4. <ul></ul>无序列表
  5. <li></li>列表项
  6. <a></a>超链接标签
  7. <img />图片标签
  8. <i></i>斜体标签
  9. <b></b>粗体标签

2.页面布局常用选择器

  1. id选择器 #id
  2. 类选择器 .class
  3. 关系选择器 div pdiv>pdiv,p
  4. 伪类选择器 hover
  5. 结构性伪类选择器 E:afterE:beforeE:nth-child()、E:first-childE:last-child

3.页面布局常用属性

3.1页面布局常用属性(一)

  1. 字体属性:font-size
  2. 文本属性:text-decorationtext-align
  3. 首行缩进:text-indent
  4. 行高:line-height
  5. 宽高属性:widthheightmin-heightmax-height
  6. 背景属性:background
  7. 列表属性:list-style
  8. 字体颜色:color

3.2页面布局常用属性(二)

  1. 定位属性:position
  2. 布局属性:display
  3. 浮动属性:floatclear
  4. 盒子模型:bordermarginpadding
  5. 圆角边框:border-radius
  6. 阴影:text-shadowbox-shadow

3.2.1浮动属性:

  • 浮动定位是指:

        将元素排除在普通流之外

        元素将不在页面中占据空间

        将浮动元素放置在包含框的左边或者右边

        浮动元素依旧位于包含框之内

  • 浮动元素的框可以向左或者向右移动(注意:不能向上或者向下移动,也就是没有float:top;),直到它的外边缘碰到包含框或另一个浮动框的边框为止。
  • 浮动元素的外边缘不会超过其父元素的内边缘
  • 浮动元素不会互相重叠
  • 浮动元素不会上下浮动
  • 任何元素一旦浮动,display属性将完全失效均可以设置宽高,并且不会独占一行
  • 语法: float:none/left/right; 

给父元素div和3个子元素div设置了宽高和背景色 

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>浮动属性</title>
  7. <style>
  8. #box{
  9. width: 600px;
  10. height: 600px;
  11. background: deeppink;
  12. }
  13. #box>div:first-child{
  14. width: 200px;
  15. height: 200px;
  16. background: green;
  17. }
  18. #box>div:nth-child(2){
  19. width: 200px;
  20. height: 200px;
  21. background: aqua;
  22. }
  23. #box>div:nth-child(3){
  24. width: 200px;
  25. height: 200px;
  26. background: red;
  27. }
  28. </style>
  29. </head>
  30. <body>
  31. <div id="box">
  32. <div></div>
  33. <div></div>
  34. <div></div>
  35. </div>
  36. </body>
  37. </html>

1.将绿色div设置左浮动 

  1. 将绿色div设置左浮动
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>浮动属性</title>
  8. <style>
  9. #box {
  10. width: 600px;
  11. height: 600px;
  12. background: deeppink;
  13. }
  14. #box>div:first-child {
  15. width: 200px;
  16. height: 200px;
  17. background: green;
  18. /* 左浮动 */
  19. float: left;
  20. }
  21. #box>div:nth-child(2) {
  22. width: 200px;
  23. height: 200px;
  24. background: aqua;
  25. }
  26. #box>div:nth-child(3) {
  27. width: 200px;
  28. height: 200px;
  29. background: red;
  30. }
  31. </style>
  32. </head>
  33. <body>
  34. <div id="box">
  35. <div></div>
  36. <div></div>
  37. <div></div>
  38. </div>
  39. </body>
  40. </html>

 

2.将绿色div设置右浮动 

  1. 将绿色div设置右浮动
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>浮动属性</title>
  8. <style>
  9. #box {
  10. width: 600px;
  11. height: 600px;
  12. background: deeppink;
  13. }
  14. #box>div:first-child {
  15. width: 200px;
  16. height: 200px;
  17. background: green;
  18. /* 右浮动 */
  19. float: right;
  20. }
  21. #box>div:nth-child(2) {
  22. width: 200px;
  23. height: 200px;
  24. background: aqua;
  25. }
  26. #box>div:nth-child(3) {
  27. width: 200px;
  28. height: 200px;
  29. background: red;
  30. }
  31. </style>
  32. </head>
  33. <body>
  34. <div id="box">
  35. <div>1</div>
  36. <div>2</div>
  37. <div>3</div>
  38. </div>
  39. </body>
  40. </html>

 

3.将绿色和蓝色的div设置为右浮动 

  1. 将绿色和蓝色的div设置为右浮动
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>浮动属性</title>
  8. <style>
  9. #box {
  10. width: 600px;
  11. height: 600px;
  12. background: deeppink;
  13. }
  14. #box>div:first-child {
  15. width: 200px;
  16. height: 200px;
  17. background: green;
  18. /* 右浮动 */
  19. float: right;
  20. }
  21. #box>div:nth-child(2) {
  22. width: 200px;
  23. height: 200px;
  24. background: aqua;
  25. /* 右浮动 */
  26. float: right;
  27. }
  28. #box>div:nth-child(3) {
  29. width: 200px;
  30. height: 200px;
  31. background: red;
  32. }
  33. </style>
  34. </head>
  35. <body>
  36. <div id="box">
  37. <div>1</div>
  38. <div>2</div>
  39. <div>3</div>
  40. </div>
  41. </body>
  42. </html>

 

1.将绿色和蓝色的div右浮动,并将红色div的宽和高设置为300px,证明浮动元素不占据位置,将元素排除在普通流之外 

  1. 将绿色和蓝色的div右浮动,并将红色div的宽和高设置为300px,证明浮动元素不占据位置
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>浮动属性</title>
  8. <style>
  9. #box {
  10. width: 600px;
  11. height: 600px;
  12. background: deeppink;
  13. }
  14. #box>div:first-child {
  15. width: 200px;
  16. height: 200px;
  17. background: green;
  18. /* 右浮动 */
  19. float: right;
  20. }
  21. #box>div:nth-child(2) {
  22. width: 200px;
  23. height: 200px;
  24. background: aqua;
  25. /* 右浮动 */
  26. float: right;
  27. }
  28. #box>div:nth-child(3) {
  29. width: 300px;
  30. height: 300px;
  31. background: red;
  32. }
  33. </style>
  34. </head>
  35. <body>
  36. <div id="box">
  37. <div>1</div>
  38. <div>2</div>
  39. <div>3</div>
  40. </div>
  41. </body>
  42. </html>

 

2.将绿色和蓝色的div右浮动,并将红色div的宽和高设置为300px;再将红色设置为右浮动,证明浮动元素不会互相重叠

  1. 将绿色和蓝色的div右浮动,并将红色div的宽和高设置为300px;再将红色设置为右浮动,证明浮动元素不会互相重叠
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>浮动属性</title>
  8. <style>
  9. #box {
  10. width: 600px;
  11. height: 600px;
  12. background: deeppink;
  13. }
  14. #box>div:first-child {
  15. width: 200px;
  16. height: 200px;
  17. background: green;
  18. /* 右浮动 */
  19. float: right;
  20. }
  21. #box>div:nth-child(2) {
  22. width: 200px;
  23. height: 200px;
  24. background: aqua;
  25. /* 右浮动 */
  26. float: right;
  27. }
  28. #box>div:nth-child(3) {
  29. width: 300px;
  30. height: 300px;
  31. background: red;
  32. /* 右浮动 */
  33. float: right;
  34. }
  35. </style>
  36. </head>
  37. <body>
  38. <div id="box">
  39. <div>1</div>
  40. <div>2</div>
  41. <div>3</div>
  42. </div>
  43. </body>
  44. </html>

 3.将绿色、蓝色和红色div设置右浮动

  1. 将绿色、蓝色和红色div设置右浮动
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>浮动属性</title>
  8. <style>
  9. #box {
  10. width: 600px;
  11. height: 600px;
  12. background: deeppink;
  13. }
  14. #box>div:first-child {
  15. width: 200px;
  16. height: 200px;
  17. background: green;
  18. /* 右浮动 */
  19. float: right;
  20. }
  21. #box>div:nth-child(2) {
  22. width: 200px;
  23. height: 200px;
  24. background: aqua;
  25. /* 右浮动 */
  26. float: right;
  27. }
  28. #box>div:nth-child(3) {
  29. width: 200px;
  30. height: 200px;
  31. background: red;
  32. /* 右浮动 */
  33. float: right;
  34. }
  35. </style>
  36. </head>
  37. <body>
  38. <div id="box">
  39. <div>1</div>
  40. <div>2</div>
  41. <div>3</div>
  42. </div>
  43. </body>
  44. </html>

1.span行内元素:没有宽高属性,并且不会独占一行。也就是说设置了宽高也没有效果  

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>浮动属性</title>
  7. <style>
  8. #box {
  9. width: 600px;
  10. height: 600px;
  11. background: deeppink;
  12. }
  13. #box>div:first-child {
  14. width: 200px;
  15. height: 200px;
  16. background: green;
  17. /* 右浮动 */
  18. float: right;
  19. }
  20. #box>div:nth-child(2) {
  21. width: 200px;
  22. height: 200px;
  23. background: aqua;
  24. /* 右浮动 */
  25. float: right;
  26. }
  27. #box>div:nth-child(3) {
  28. width: 200px;
  29. height: 200px;
  30. background: red;
  31. /* 右浮动 */
  32. float: right;
  33. }
  34. .span1{
  35. background: yellow;
  36. width: 200px;
  37. height: 200px;
  38. }
  39. .span2{
  40. background: palegreen;
  41. width: 200px;
  42. height: 200px;
  43. }
  44. </style>
  45. </head>
  46. <body>
  47. <div id="box">
  48. <div>1</div>
  49. <div>2</div>
  50. <div>3</div>
  51. </div>
  52. <span class="span1">我是span</span>
  53. <span class="span2">我是span</span>
  54. </body>
  55. </html>

2.span行内元素:没有宽高属性,并且不会独占一行。也就是说设置了宽高也没有效果 。但是任何元素一旦浮动,display属性将完全失效均可以设置宽高,并且不会独占一行

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>浮动属性</title>
  7. <style>
  8. #box {
  9. width: 600px;
  10. height: 600px;
  11. background: deeppink;
  12. }
  13. #box>div:first-child {
  14. width: 200px;
  15. height: 200px;
  16. background: green;
  17. /* 右浮动 */
  18. float: right;
  19. }
  20. #box>div:nth-child(2) {
  21. width: 200px;
  22. height: 200px;
  23. background: aqua;
  24. /* 右浮动 */
  25. float: right;
  26. }
  27. #box>div:nth-child(3) {
  28. width: 200px;
  29. height: 200px;
  30. background: red;
  31. /* 右浮动 */
  32. float: right;
  33. }
  34. .span1{
  35. background: yellow;
  36. width: 200px;
  37. height: 200px;
  38. float: left;
  39. }
  40. .span2{
  41. background: palegreen;
  42. width: 200px;
  43. height: 200px;
  44. float: left;
  45. }
  46. </style>
  47. </head>
  48. <body>
  49. <div id="box">
  50. <div>1</div>
  51. <div>2</div>
  52. <div>3</div>
  53. </div>
  54. <span class="span1">我是span</span>
  55. <span class="span2">我是span</span>
  56. </body>
  57. </html>

1.当父元素div不设置宽高且所有元素都不设置浮动时,父元素div会感知子元素的宽高,所以下面例子中,div的高为子元素的总高,又因为div是独占一行的,所以下面例子中div的宽度是满宽。

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>浮动属性</title>
  7. <style>
  8. #box {
  9. /* width: 600px;
  10. height: 600px; */
  11. background: deeppink;
  12. }
  13. #box>div:first-child {
  14. width: 200px;
  15. height: 200px;
  16. background: green;
  17. /* 右浮动 */
  18. /* float: right; */
  19. }
  20. #box>div:nth-child(2) {
  21. width: 200px;
  22. height: 200px;
  23. background: aqua;
  24. /* 右浮动 */
  25. /* float: right; */
  26. }
  27. #box>div:nth-child(3) {
  28. width: 200px;
  29. height: 200px;
  30. background: red;
  31. /* 右浮动 */
  32. /* float: right; */
  33. }
  34. </style>
  35. </head>
  36. <body>
  37. <div id="box">
  38. <div>1</div>
  39. <div>2</div>
  40. <div>3</div>
  41. </div>
  42. </body>
  43. </html>

 2.当父元素div不设置宽高,绿色盒子右浮动时

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>浮动属性</title>
  7. <style>
  8. #box {
  9. /* width: 600px;
  10. height: 600px; */
  11. background: deeppink;
  12. }
  13. #box>div:first-child {
  14. width: 200px;
  15. height: 200px;
  16. background: green;
  17. /* 右浮动 */
  18. float: right;
  19. }
  20. #box>div:nth-child(2) {
  21. width: 200px;
  22. height: 200px;
  23. background: aqua;
  24. /* 右浮动 */
  25. /* float: right; */
  26. }
  27. #box>div:nth-child(3) {
  28. width: 200px;
  29. height: 200px;
  30. background: red;
  31. /* 右浮动 */
  32. /* float: right; */
  33. }
  34. </style>
  35. </head>
  36. <body>
  37. <div id="box">
  38. <div>1</div>
  39. <div>2</div>
  40. <div>3</div>
  41. </div>
  42. </body>
  43. </html>

 3.当父元素div不设置宽高,绿色盒子和蓝色右浮动时

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>浮动属性</title>
  7. <style>
  8. #box {
  9. /* width: 600px;
  10. height: 600px; */
  11. background: deeppink;
  12. }
  13. #box>div:first-child {
  14. width: 200px;
  15. height: 200px;
  16. background: green;
  17. /* 右浮动 */
  18. float: right;
  19. }
  20. #box>div:nth-child(2) {
  21. width: 200px;
  22. height: 200px;
  23. background: aqua;
  24. /* 右浮动 */
  25. float: right;
  26. }
  27. #box>div:nth-child(3) {
  28. width: 200px;
  29. height: 200px;
  30. background: red;
  31. /* 右浮动 */
  32. /* float: right; */
  33. }
  34. </style>
  35. </head>
  36. <body>
  37. <div id="box">
  38. <div>1</div>
  39. <div>2</div>
  40. <div>3</div>
  41. </div>
  42. </body>
  43. </html>

 

  4.当父元素div不设置宽高,绿色、蓝色和红色盒子都右浮动时

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>浮动属性</title>
  7. <style>
  8. #box {
  9. /* width: 600px;
  10. height: 600px; */
  11. background: deeppink;
  12. }
  13. #box>div:first-child {
  14. width: 200px;
  15. height: 200px;
  16. background: green;
  17. /* 右浮动 */
  18. float: right;
  19. }
  20. #box>div:nth-child(2) {
  21. width: 200px;
  22. height: 200px;
  23. background: aqua;
  24. /* 右浮动 */
  25. float: right;
  26. }
  27. #box>div:nth-child(3) {
  28. width: 200px;
  29. height: 200px;
  30. background: red;
  31. /* 右浮动 */
  32. float: right;
  33. }
  34. </style>
  35. </head>
  36. <body>
  37. <div id="box">
  38. <div>1</div>
  39. <div>2</div>
  40. <div>3</div>
  41. </div>
  42. </body>
  43. </html>

 

5.在父元素div不设置宽高的情况下,让父元素可以感知子类的高度。可以设置overflow:hidden

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>浮动属性</title>
  7. <style>
  8. #box {
  9. /* width: 600px;
  10. height: 600px; */
  11. background: deeppink;
  12. /* .在父元素div不设置宽高的情况下,
  13. 让父元素可以感知子类的高度。可以设置overflow:hidden */
  14. overflow: hidden;
  15. }
  16. #box>div:first-child {
  17. width: 200px;
  18. height: 200px;
  19. background: green;
  20. /* 右浮动 */
  21. float: right;
  22. }
  23. #box>div:nth-child(2) {
  24. width: 200px;
  25. height: 200px;
  26. background: aqua;
  27. /* 右浮动 */
  28. float: right;
  29. }
  30. #box>div:nth-child(3) {
  31. width: 200px;
  32. height: 200px;
  33. background: red;
  34. /* 右浮动 */
  35. float: right;
  36. }
  37. </style>
  38. </head>
  39. <body>
  40. <div id="box">
  41. <div>1</div>
  42. <div>2</div>
  43. <div>3</div>
  44. </div>
  45. </body>
  46. </html>

 6.在父元素div不设置宽高的情况下,让父元素可以感知子类的高度。也可以给父元素div设置浮动。此时父元素可以感知子类高度,看不到父元素只是因为被子元素盖住了。

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>浮动属性</title>
  7. <style>
  8. #box {
  9. /* width: 600px;
  10. height: 600px; */
  11. background: deeppink;
  12. /*下面第一个截图,是设置左浮动*/
  13. float: left;
  14. /*下面第一个截图,是设置右浮动*/
  15. /*float: right;*/
  16. }
  17. #box>div:first-child {
  18. width: 200px;
  19. height: 200px;
  20. background: green;
  21. /* 右浮动 */
  22. float: right;
  23. }
  24. #box>div:nth-child(2) {
  25. width: 200px;
  26. height: 200px;
  27. background: aqua;
  28. /* 右浮动 */
  29. float: right;
  30. }
  31. #box>div:nth-child(3) {
  32. width: 200px;
  33. height: 200px;
  34. background: red;
  35. /* 右浮动 */
  36. float: right;
  37. }
  38. </style>
  39. </head>
  40. <body>
  41. <div id="box">
  42. <div>1</div>
  43. <div>2</div>
  44. <div>3</div>
  45. </div>
  46. </body>
  47. </html>

 7.在父元素div不设置宽高的情况下,让父元素可以感知子类的高度。也可以给父元素div设置浮动。 这个例子为了对比6,再添加了第4个子元素,以证明父元素的存在。

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>浮动属性</title>
  7. <style>
  8. #box {
  9. /* width: 600px;
  10. height: 600px; */
  11. background: deeppink;
  12. float: right;
  13. }
  14. #box>div:first-child {
  15. width: 200px;
  16. height: 200px;
  17. background: green;
  18. /* 右浮动 */
  19. float: right;
  20. }
  21. #box>div:nth-child(2) {
  22. width: 200px;
  23. height: 200px;
  24. background: aqua;
  25. /* 右浮动 */
  26. float: right;
  27. }
  28. #box>div:nth-child(3) {
  29. width: 200px;
  30. height: 200px;
  31. background: red;
  32. /* 右浮动 */
  33. float: right;
  34. }
  35. #box>div:last-child{
  36. width: 300px;
  37. height: 300px;
  38. background-color: blue;
  39. float: left;
  40. }
  41. </style>
  42. </head>
  43. <body>
  44. <div id="box">
  45. <div>1</div>
  46. <div>2</div>
  47. <div>3</div>
  48. <div>4</div>
  49. </div>
  50. </body>
  51. </html>

 

3.2.2CSS清除浮动(!)

  • 清除浮动是为了抵消其他元素浮动对当前元素产生的影响
  • 属性:clear
  • 值:left、right、both
  • 清除浮动常用的方式:

        1.结尾处加空div标签clear:both(或在下一个元素上加clear:both)

        2.浮动元素的父级div定义overflow:hidden

        3.浮动元素的父元素定宽高

clear:both实现清除浮动

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>浮动属性</title>
  7. <style>
  8. #box {
  9. /* width: 600px;
  10. height: 600px; */
  11. background: deeppink;
  12. float: right;
  13. }
  14. #box>div:first-child {
  15. width: 200px;
  16. height: 200px;
  17. background: green;
  18. /* 右浮动 */
  19. float: right;
  20. }
  21. #box>div:nth-child(2) {
  22. width: 200px;
  23. height: 200px;
  24. background: aqua;
  25. /* 右浮动 */
  26. float: right;
  27. }
  28. #box>div:nth-child(3) {
  29. width: 200px;
  30. height: 200px;
  31. background: red;
  32. /* 右浮动 */
  33. float: right;
  34. }
  35. #box>div:last-child{
  36. width: 300px;
  37. height: 300px;
  38. background-color: blue;
  39. /* 清除浮动-
  40. 假装其他元素没有浮动的前提下,当前元素该在哪个位置就在哪个位置 */
  41. clear: both;
  42. }
  43. </style>
  44. </head>
  45. <body>
  46. <div id="box">
  47. <div>1</div>
  48. <div>2</div>
  49. <div>3</div>
  50. <div>4</div>
  51. </div>
  52. </body>
  53. </html>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/325508
推荐阅读
相关标签
  

闽ICP备14008679号