详解CSS中的display属性

本文详细介绍了CSS中的display属性,包括其定义、值、初始值、继承性等,并对各种值如block、inline、inline-block等进行了分类说明。此外,还探讨了表格类元素的display属性及其特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上周使用layer.tips(‘提示信息’。‘#id’);含有id的元素设置display:none后,提示信息弹出框位置错位了,百度后找的以下原因:

应该是含有id的元素脱离文档流造成的。

 

参考:https://www.cnblogs.com/controlms/p/7762012.html

前言

  display在网页的设计中经常用到,对页面的布局和尺寸等内容有着很大影响,常用的主要有none、block、inline(默认值)、inline-block等几个属性,本文详细介绍关于display的各种属性。

1.定义

  display属性用于规定元素生成的框类型,影响显示方式

  值:none | inline | block | inline-block | list-item | run-in | table | inline-table | table-row-group | table-header-group | table-footer-group | table-row | table-colume-group | table-colume | table-cell | table-caption | inherit

  初始值:inline

  继承性:无

  【注意】IE7-浏览器不支持table类属性值和inherit

2.分类

【1】block

  【特征】

    【1】不设置宽度时,宽度为父元素宽度

    【2】独占一行

    【3】支持宽高

  【标签】

<address><article><aside><blockquote><body><dd><details><div><dl><dt>
<fieldset><figcaption><figure><footer><form><h1><header><hgroup><hr>
<html><legend><menuitem><nav><ol><optgroup><option><p><section><summary><ul>

  【不支持的样式】

    【1】vertical-align

【2】inline

  【特征】

    【1】内容撑开宽度

    【2】并非独占一行

    【3】不支持宽高

    【4】代码换行被解析成空格

  【标签】

<a><abbr><area><b><bdi><bdo><br><cite><code><del><dfn><em><i><ins><kbd>
<label><map><mark><output><pre><q><rp><rt><ruby><s><smap><small>
<span><strong><sub><sup><time><u><var><wbr>

  【不支持的样式】

    【1】background-position

    【2】clear

    【3】clip

    【4】height | max-height | min-height

    【5】width | max-width | min-width

    【6】overflow

    【7】text-align

    【8】text-indent

    【9】text-overflow

3.inline-block

  【特征】

    【1】不设置宽度时,内容撑开宽度

    【2】非独占一行

    【3】支持宽高

    【4】代码换行解析成空格

  【标签】

<audio><button><canvas><embed><iframe><img><input>
<keygen><meter><object><progress><select><textarea><video>

  【不支持的样式】

    【1】clear

  【IE兼容】

    IE7-浏览器不支持给块级元素设置inline-block样式,解决方法如下:首先将其变成行内元素,使用具有行内元素的特性,然后触发haslayout,使其具有块级元素的特性,如此就可以模拟出inline-block的效果

4.none

  【特征】

    隐藏元素并脱离文档流

  【标签】

<base><link><meta><title><datalist><dialog><param><script><source><style>

5.list-item

  【特征】

    【1】不设置宽度时,宽度撑满一行

    【2】独占一行

    【3】支持宽高

6.run-in

  【特征】

    run-in是一个有意思的块/行内元素混合,可以使某些块级元素成为下一个元素的行内部分。如果一个元素生成run-in框,而且该框后面是一个块级框,那么该run-in元素将成为块级框开始处的一个行内框,run-in框格式化成另一个元素中的行内框,但它们仍从文档中的父元素继承属性

    若run-in框后面不是块级框时,run-in框本身将成为块级框

  【注意】只有Safari和IE8+支持

 

 

【表格类元素】

 

table{display: table;}
thead{display: table-header-group;}
tbody{display: table-row-group;}
tfoot{display: table-footer-group;}
tr{display: table-row;}
td,th{display: table-cell;}
col{display: table-column;}
colgroup{display: table-column-group;}
caption{display: table-caption;}

  表格类元素的display共有以上几种,<thead><tbody><tfoot><tr><col><colgroup>因为无法设置margin和padding用的较少,下面将着重介绍下<table>、<td>、<th>、<caption>这四个标签对应的display属性

1.table

  【特征】

    【1】不设置宽度时,宽度由内容撑开

    【2】独占一行

    【3】支持宽高

    【4】默认具有表格特征,能够设置table-layout  

    【注意】对于display为table和inline-table,若处于分隔边框模型即border-collapse:separate;,margin和padding都可设置;若处于合并边框模型即border-collapse:collapse,只可设置margin

2.inline-table

  【特征】

    【1】不设置宽度时,宽度由内容撑开

    【2】非独占一行

    【3】支持宽高

    【4】默认具有表格特征

3.table-cell

  【特征】

    【1】不设置宽度时,宽度由内容撑开

    【2】非独占一行

    【3】支持宽高

    【4】垂直对齐

    【5】同级等高

  【注意】display:table-cell的元素不能设置margin,但是可以设置padding

4.table-caption

  【特征】

    【1】不设置宽度时,宽度由内容撑开

    【2】独占一行

    【3】支持宽高

  【注意】

    display:table-caption元素的margin和padding都可以设置

<think>好的,我需要帮助用户查找CSS属性的默认列表。首先,我应该回顾用户提供的引用内容,看看里面有没有相关的信息。引用[1]提到initial关键字可以将属性重置为初始,而初始可能与浏览器默认样式不同。引用[2]和引用[3]列出了一些常见CSS属性的默认,比如background-color的默认是transparent,font-size默认是medium,position属性的默认是static等。引用[4]也提到position的默认是static。用户需要的是一个全面的CSS属性默认列表,但手头的引用可能只涵盖部分属性。 接下来,我应该整理这些引用中的信息,按类别分类,例如布局、字体、背景等,这样用户更容易查找。同时,需要注意区分初始和浏览器默认样式的不同,因为有些元素在浏览器中可能有预设样式,比如h1标签的字体大小,但CSS属性的初始可能不同。例如,font-size的初始是medium,但h1标签在浏览器样式表中通常会设置为更大的尺寸。 用户可能需要知道如何获取不在列表中的属性的默认,这时候可以建议使用initial关键字或者查阅MDN文档。此外,提醒用户注意继承属性和非继承属性之间的区别,因为继承属性的初始可能应用到父元素而不是当前元素,导致意外结果。比如color属性的初始可能因浏览器而异,但通常为黑色,但实际应用中可能继承自父元素。 最后,生成相关问题,帮助用户深入理解如何查找和使用默认,比如如何重置所有属性到初始,或者如何区分初始和浏览器默认样式。确保回答结构清晰,分点列出,方便用户快速找到所需信息。</think>### CSS属性默认查询方法及常用属性列表 #### 一、查询CSS属性默认的权威方法 1. **使用`initial`关键字** 通过`属性: initial`可将CSS属性重置为**规范定义的初始**(非浏览器预设),例如: ```css div { position: initial; } /* 等价于 position: static */ ``` 注意:继承属性(如`color`)在根元素使用`initial`才能显示初始[^1]。 2. **查阅MDN文档** 在MDN任意属性页面的"形式定义"部分查看`初始(Initial value)`,例如: - `display`的初始:`inline` - `font-size`的初始:`medium` #### 二、常见CSS属性默认速查表 以下为W3C规范定义的初始(非浏览器预设样式): | 类别 | 属性 | 默认 | |--------------|---------------------|--------------------------| | **布局** | `position` | `static`[^4] | | | `display` | `inline` | | | `float` | `none` | | **盒模型** | `width`/`height` | `auto` | | | `margin`/`padding` | `0` | | | `border-width` | `medium` | | **字体** | `font-size` | `medium`[^2] | | | `font-weight` | `normal`(非继承属性) | | | `color` | 取决于浏览器(通常黑色)| | **背景** | `background-color` | `transparent`[^2] | | | `background-image` | `none` | | **列表** | `list-style-type` | `disc` | | **动画** | `animation-duration`| `0s`(无动画)[^2] | #### 三、重要注意事项 1. **浏览器默认样式覆盖** 例如`<h1>`标签的`font-size`在浏览器中默认为`2em`,但CSS规范中`font-size`的初始为`medium`。 2. **完整属性列表查询** 可通过以下方式获取完整数据: ```bash npm install css-property-defaults # 安装CSS默认数据库 ``` 或访问 [CSS规范文档](https://www.w3.org/TR/css-2021/)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值