21番茄网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 21番茄网
查看: 106|回复: 9

CSS盒模型

[复制链接]

693

主题

911

帖子

2993

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2993
发表于 2024-7-21 16:03:26 | 显示全部楼层 |阅读模式
在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素内联元素(又叫行内元素)和内联块状元素

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

常用的内联元素有:
<a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code>

常用的内联块状元素有:
<img>、<input>

回复

使用道具 举报

693

主题

911

帖子

2993

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2993
 楼主| 发表于 2024-7-21 16:07:25 | 显示全部楼层
什么是块级元素?在html中<div><p><h1><form><ul><li>就是块级元素。
设置display:block就是将元素显示为块级元素。
如下代码就是将内联元素a转换为块状元素,从而使a元素具有块状元素特点。

a{display:block;}
块级元素特点:
1、每个块级元素都从新的一行开始,并且其后的元素也另起一行。
2、元素的高度、宽度、行高以及顶和底边距都可设置。
3、元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度。

回复

使用道具 举报

693

主题

911

帖子

2993

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2993
 楼主| 发表于 2024-7-23 21:42:47 | 显示全部楼层
内联块状元素(inline-block)就是同时具备内联元素、块状元素的特点,代码 display:inline-block 就是将元素设置为内联块状元素。(css2.1新增),<img>、<input>标签就是这种内联块状标签。

inline-block 元素特点:
1、和其他元素都在一行上;
2、元素的高度、宽度、行高以及顶和底边距都可设置。
<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>内联块状元素</title>
    <style type="text/css">
    a {
        display:inline-block;
        width: 20px;
        /*在默认情况下宽度不起作用*/
        height: 20px;
        /*在默认情况下高度不起作用*/
        background: pink;
        /*设置背景颜色为粉色*/
        text-align: center;
        /*设置文本居中显示*/
    }
    </style>
</head>

<body>
    <a>1</a>
    <a>2</a>
    <a>3</a>
    <a>4</a>
</body>

</html>

说明:为 a 元素设置了宽和高,但都没有起到作用,原因是a在默认的时候是内联元素,内联元素是不可以设置宽和高的。因此增加内联块状元素:   display:inline-block;


回复

使用道具 举报

693

主题

911

帖子

2993

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2993
 楼主| 发表于 2024-7-23 21:50:36 | 显示全部楼层
display: none;

解释:此元素不会被显示,当想要元素隐藏的时候可以使用此值。
<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>none</title>
    <style type="text/css">
    p {
        display: none;
    }
    </style>
</head>

<body>
    <p>我爱学习</p>
</body>

</html>

回复

使用道具 举报

693

主题

911

帖子

2993

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2993
 楼主| 发表于 2024-7-23 22:16:15 | 显示全部楼层
背景色:background-color:XXXXX;
举例:
div{background-color:red;}   //为块状元素设置
a{background-color:green;}   //为行内元素设置
<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>背景色</title>
    <style type="text/css">
    div {
        background-color: red;
    }
    a {
        background-color: green;
    }
    </style>
</head>

<body>
    <div>
        <h1>学习平台</h1>
        <p>XXXXX<a href="http://wwww.imooc.com">(IMOOC)</a>是学习编程最简单的免费平台。</p>
    </div>
</body>

</html>


回复

使用道具 举报

693

主题

911

帖子

2993

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2993
 楼主| 发表于 2024-7-23 22:21:52 | 显示全部楼层
使用border为盒子添加边框

为 div 来设置边框粗细为 2px、样式为实心的、颜色为红色的边框:
  1. div{
  2.     border:2px  solid  red;
  3. }
复制代码

上面是 border 代码的缩写形式,可以分开写:
  1. div{
  2.     border-width:2px;
  3.     border-style:solid;
  4.     border-color:red;
  5. }
复制代码

注意:
1、border-style(边框样式)常见样式有:
dashed(虚线)| dotted(点线)| solid(实线)。

2、border-color(边框颜色)中的颜色可设置为十六进制颜色,如:
  1. border-color:#888;   //前面的井号不要忘掉。
复制代码

3、border-width(边框宽度)中的宽度也可以设置为:
thin | medium | thick(但不是很常用),最常还是用像素(px)。

回复

使用道具 举报

693

主题

911

帖子

2993

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2993
 楼主| 发表于 2024-7-23 22:24:45 | 显示全部楼层
css 样式中允许只为一个方向的边框设置样式:

div{border-bottom:1px solid red;}
同样可以使用下面代码实现其它三边(上、右、左)边框的设置:

border-top:1px solid red;
border-right:1px solid red;
border-left:1px solid red;

回复

使用道具 举报

693

主题

911

帖子

2993

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2993
 楼主| 发表于 2024-7-23 22:31:21 | 显示全部楼层
使用border-radius设置圆角

元素边框的圆角效果可以使用border-radius属性来设置。圆角可分为左上、右上、右下、左下(顺时针方向))。如下代码:

div{border-radius: 20px 10px 15px 30px;}
效果:
顺时针方向.png


也可以分开写:
  1. div{
  2.     border-top-left-radius: 20px;
  3.    border-top-right-radius: 10px;
  4.    border-bottom-right-radius: 15px;
  5.    border-bottom-left-radius: 30px;
  6. }
复制代码

如果四个圆角都为10px;可以这么写:
  1. div{ border-radius:10px;}
复制代码

如果左上角和右下角圆角效果一样为10px,右上角和左下角圆角一样为20px,可以这么写:
  1. div{ border-radius:10px 20px;}
复制代码


需要特别注意的:一个正方形,当设置圆角效果值为元素宽度一半时,显示效果为圆形。例如:
  1. div {
  2.         width: 200px;
  3.         height: 200px;
  4.         border: 5px solid red;
  5.         border-radius: 100px;
  6.     }
复制代码

也可以写为百分比50%
  1. div {
  2.         width: 200px;
  3.         height: 200px;
  4.         border: 5px solid red;
  5.         border-radius: 50%;
  6.     }
复制代码

圆形.jpg


回复

使用道具 举报

693

主题

911

帖子

2993

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2993
 楼主| 发表于 2024-7-23 22:34:41 | 显示全部楼层
元素内容与边框之间是可以设置距离的,称之为“内边距(填充)”。填充也可分为上、右、下、左(顺时针)。如下代码:
  1. div{padding:20px 10px 15px 30px;}
复制代码

顺序一定不要搞混。可以分开写上面代码:
  1. div{
  2.    padding-top:20px;
  3.    padding-right:10px;
  4.    padding-bottom:15px;
  5.    padding-left:30px;
  6. }
复制代码

如果上、右、下、左的填充都为10px;可以这么写
  1. div{padding:10px;}
复制代码

如果上下填充一样为10px,左右一样为20px,可以这么写:
  1. div{padding:10px 20px;}
复制代码


回复

使用道具 举报

693

主题

911

帖子

2993

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2993
 楼主| 发表于 2024-7-23 22:37:37 | 显示全部楼层
元素与其它元素之间的距离可以使用边界(margin)来设置。边界也是可分为上、右、下、左。如下代码:
  1. div{margin:20px 10px 15px 30px;}
复制代码

也可以分开写:
  1. div{
  2.    margin-top:20px;
  3.    margin-right:10px;
  4.    margin-bottom:15px;
  5.    margin-left:30px;
  6. }
复制代码

如果上右下左的边界都为10px;可以这么写:
  1. div{ margin:10px;}
复制代码

如果上下边界一样为10px,左右一样为20px,可以这么写:
  1. div{ margin:10px 20px;}
复制代码

总结一下:padding和margin的区别,padding在边框里,margin在边框外。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|21番茄网 ( 粤ICP备10099428号 ) 奇远富

GMT+8, 2024-9-19 09:18 , Processed in 0.132959 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表