css实现行内元素设置宽高,块级元素取消宽高

本文探讨了如何为行内元素设置宽高,通过添加绝对定位使其生效。同时,展示了如何使块级元素在添加绝对定位后取消默认宽高,变为内容大小。此外,还提到了绝对定位的元素不会触发外边距塌陷,避免了外边距合并问题。

1、如何让行内元素设置宽高呢,这里又有一个方法,先引入一个普通的行内元素,代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>定位特殊特性</title>
    <style>
        span {
            width: 200px;
            height: 200px;
            background-color: chartreuse;
        }
    </style>
</head>
<body>
    <span>我是一个行内元素</span>
</body>
</html>

运行结果如下:
在这里插入图片描述
此时我加个绝对定位试试:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>定位特殊特性</title>
    <style>
        span {
            position: absolute;
            width: 200px;
            height: 200px;
            background-color: chartreuse;
        }
    </style>
</head>
<body>
    <span>我是一个行内元素</span>
</body>
</html>

运行结果如下:
在这里插入图片描述2、如何让块级元素取消宽高呢,先来一个普通的块级元素,代码如下:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>定位特殊特性</title>
    <style>
        span {
            position: absolute;
            width: 200px;
            height: 200px;
            background-color: chartreuse;
            /* 因为绝对定位的盒子是不占有位置的,会与div盒子重叠,我们让这个span盒子距离远点 */
            margin-top: 300px;
        }
        div {
            background-color: chocolate;
        }
    </style>
</head>
<body>
    <span>我是一个行内元素</span>
    <div>我是一个块级元素</div>
</body>

</html>

运行结果如下:
在这里插入图片描述

此时我如果加了绝对定位在块级元素上,我们看看效果:
先看代码:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>定位特殊特性</title>
    <style>
        span {
            position: absolute;
            width: 200px;
            height: 200px;
            background-color: chartreuse;
            /* 因为绝对定位的盒子是不占有位置的,会与div盒子重叠,我们让这个span盒子距离远点 */
            margin-top: 300px;
        }
        div {
            background-color: chocolate;
            position: absolute;
        }
    </style>
</head>
<body>
    <span>我是一个行内元素</span>
    <div>我是一个块级元素</div>
</body>

</html>

运行结果如下:
在这里插入图片描述
总结:
1、行内元素添加绝对定位或者固定定位就可以直接接设置高度和宽度。
2、块级元素添加绝对定位或者固定定位,如果不给宽度和高度,默认大小就可以变为内容你那个的大小啦。
另外:
脱标的盒子不会触发外边距塌陷,因为绝对定位或者固定定位的元素不会触发外边距合并的问题

CSS中,若要取消设置的`display`样式,可依据不同场景使用不同方法。 ### 使用`initial`值 `initial`关键字能将属性设置为其默认值。就`display`属性而言,不同元素有不同的默认`display`值,像块级元素(如`<div>`)默认值是`block`,行内元素(如`<span>`)默认值是`inline`。示例代码如下: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Reset display to initial</title> <style> div { display: inline; /* 初始设置为 inline */ } .reset { display: initial; /* 取消之前设置,恢复默认值 */ } </style> </head> <body> <div>这是一个div元素,初始设置为inline</div> <div class="reset">这是一个div元素,恢复默认的block显示</div> </body> </html> ``` ### 使用`inherit`值 `inherit`关键字可使元素继承其父元素的`display`属性值。示例代码如下: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Reset display to inherit</title> <style> body { display: block; } div { display: inline; /* 初始设置为 inline */ } .reset { display: inherit; /* 继承父元素的 display 值 */ } </style> </head> <body> <div>这是一个div元素,初始设置为inline</div> <div class="reset">这是一个div元素,继承父元素的display值</div> </body> </html> ``` ### 移除CSS规则 在HTML文件里,若使用内联样式设置了`display`属性,可直接删除该样式;若在CSS文件或`<style>`标签中设置了`display`属性,可删除对应的CSS规则。示例代码如下: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Remove display rule</title> <style> /* 移除下面这行来取消 display 设置 */ /* div { display: inline; } */ </style> </head> <body> <div>这是一个div元素,移除display规则后恢复默认显示</div> </body> </html> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值