目录
0、浏览器默认样式
元素字号比
(1)、display: block
(2)、display: list-item
(3)、diplay:table
(4)、display: table-cell
(5)、display:inline-block
1、内联样式
2、内部样式
3、引用样式
4、浏览器用户自定义样式
首页 web前端 html教程 后端码农谈前端(CSS篇)第二课:CSS的5个来源_html/css_WEB-ITnose

后端码农谈前端(CSS篇)第二课:CSS的5个来源_html/css_WEB-ITnose

Jun 24, 2016 am 11:47 AM

0、浏览器默认样式

当你不为html元素设置任何样式时,显示在浏览器上的(比如:元素会显示粗体、

元素有纵向margin、

元素字号比

元素大一倍……)这是为什么呢?

因为浏览器自带一个默认的样式,在html元素未被设置样式时,浏览器会按照自己默认的样式来显示。但是浏览器默认样式的级别是最低的,一旦有其他地方设置了样式,浏览器默认样式就会被覆盖掉。

注意,不同浏览器的默认样式有些地方是不一样的。例如,我们在写css时,都会首先设置 * {margin:0; padding:0;},这是为何?就是因为有浏览器兼容性问题。干脆,全部弄成0,这样各个浏览器就都统一了。

下面,我们贴出默认样式的代码:

html, address,blockquote,body, dd, div,dl, dt, fieldset, form,frame, frameset,h1, h2, h3, h4,h5, h6, noframes,ol, p, ul, center,dir, hr, menu, pre { display: block }/*以上列表元素默认状态下一块状显示,未显示的将以内联元素显示,该列表针对HTML4版本,部分元素在XHTML1中将废弃*/
登录后复制
li { display: list-item }/*默认以列表显示*/
登录后复制
登录后复制
head { display: none }/*默认不显示*/
登录后复制
table { display: table }/*默认为表格显示*/
登录后复制
登录后复制
tr { display: table-row }/*默认为表格行显示*/
登录后复制
thead { display: table-header-group }/*默认为表格头部分组显示*/
登录后复制
tbody { display: table-row-group }/*默认为表格行分组显示*/
登录后复制
tfoot { display: table-footer-group }/*默认为表格底部分组显示*/
登录后复制
col { display: table-column }/*默认为表格列显示*/
登录后复制
colgroup { display: table-column-group }/*默认为表格列分组显示*/
登录后复制
td, th { display: table-cell; }/*默认为单元格显示*/
登录后复制
登录后复制
caption { display: table-caption }/*默认为表格标题显示*/
登录后复制
th { font-weight: bolder; text-align: center }/*默认为表格标题显示,呈现加粗居中状态*/
登录后复制
caption { text-align: center }/*默认为表格标题显示,呈现居中状态*/
登录后复制
body { margin: 8px; line-height: 1.12 }
登录后复制
h1 { font-size: 2em; margin: .67em 0 }
登录后复制
h2 { font-size: 1.5em; margin: .75em 0 }
登录后复制
h3 { font-size: 1.17em; margin: .83em 0 }
登录后复制
h4, p, blockquote, ul, fieldset, form, ol, dl, dir, menu { margin: 1.12em 0 }
登录后复制
h5 { font-size: .83em; margin: 1.5em 0 }
登录后复制
h6 { font-size: .75em; margin: 1.67em 0 }
登录后复制
h1, h2, h3, h4, h5, h6, b,strong { font-weight: bolder }
登录后复制
blockquote { margin-left: 40px; margin-right: 40px }
登录后复制
i, cite, em,var, address { font-style: italic }
登录后复制
pre, tt, code, kbd, samp { font-family: monospace }
登录后复制
pre { white-space: pre }
登录后复制
button, textarea, input, object, select { display:inline-block; }
登录后复制
big { font-size: 1.17em }
登录后复制
small, sub, sup { font-size: .83em }
登录后复制
sub { vertical-align: sub }/*定义sub元素默认为下标显示*/
登录后复制
sup { vertical-align: super }/*定义sub元素默认为上标显示*/
登录后复制
table { border-spacing: 2px; }
登录后复制
thead, tbody, tfoot { vertical-align: middle }/*定义表头、主体表、表脚元素默认为垂直对齐*/
登录后复制
td, th { vertical-align: inherit }/*定义单元格、列标题默认为垂直对齐默认为继承*/
登录后复制
s, strike, del { text-decoration: line-through }/*定义这些元素默认为删除线显示*/
登录后复制
hr { border: 1px inset }/*定义分割线默认为1px宽的3D凹边效果*/
登录后复制
ol, ul, dir, menu, dd { margin-left: 40px }
登录后复制
ol { list-style-type: decimal }
登录后复制
ol ul, ul ol, ul ul, ol ol { margin-top: 0; margin-bottom: 0 }
登录后复制
u, ins { text-decoration: underline }
登录后复制
br:before { content: "A" }/*定义换行元素的伪对象内容样式*/
登录后复制
:before, :after { white-space: pre-line }/*定义伪对象空格字符的默认样式*/
登录后复制
center { text-align: center }
登录后复制
abbr, acronym { font-variant: small-caps; letter-spacing: 0.1em }
登录后复制
:link, :visited { text-decoration: underline }
登录后复制
:focus { outline: thin dotted invert }
登录后复制
 /* Begin bidirectionality settings (do not change) */
登录后复制
BDO[DIR="ltr"] { direction: ltr; unicode-bidi: bidi-override }/*定义BDO元素当其属性为DIR="ltr"时的默认文本读写显示顺序*/
登录后复制
BDO[DIR="rtl"] { direction: rtl; unicode-bidi: bidi-override }/*定义BDO元素当其属性为DIR="rtl"时的默认文本读写显示顺序*/
登录后复制
*[DIR="ltr"] { direction: ltr; unicode-bidi: embed }/*定义任何元素当其属性为DIR="ltr"时的默认文本读写显示顺序*/
登录后复制
*[DIR="rtl"] { direction: rtl; unicode-bidi: embed }/*定义任何元素当其属性为DIR="rtl"时的默认文本读写显示顺序*/
登录后复制
@media print { /*定义标题和列表默认的打印样式*/
登录后复制
    h1 { page-break-before: always }
登录后复制
    h1, h2, h3, h4, h5, h6 { page-break-after: avoid }
登录后复制
    ul, ol, dl { page-break-before: avoid }
登录后复制
}
登录后复制

(1)、display: block

html, address,blockquote,body, dd, div,dl, dt, fieldset, form,frame, frameset,h1, h2, h3, h4,h5, h6, noframes,ol, p, ul, center,dir, hr, menu, pre { display: block }/*以上列表元素默认状态下一块状显示,未显示的将以内联元素显示,该列表针对HTML4版本,部分元素在XHTML1中将废弃*/ 
登录后复制

为何默认情况下p、h1、ul、div都是block显示,就是这里定义的。所以,不要再说div天生就是block??这句话应该换成:浏览器默认样式规定了div是block!是块元素还是内联元素是由默认样式规定的,不是浏览器的内核规定的。

没有设置block的元素,默认为inline元素。

(2)、display: list-item

li { display: list-item }/*默认以列表显示*/
登录后复制
登录后复制

我们在使用display时,常用的值一般是:inline/block/inline-block,用不到list-item。那这里的list-item到底有什么作用?我们不妨亲自试一试:

看到没有,出现了ul-li中的效果了吧,如果再加一个margin-left是不是就跟ul-li一样了?

所以,ul-li为什么会默认显示成那种样子???list-item才是“罪魁祸首”。

(3)、diplay:table

table { display: table }/*默认为表格显示*/
登录后复制
登录后复制

举一个例子:

上图中,第一个div默认是block,宽度撑满整个页面。第二个div设置了display:table,宽度根据内容而定。这就是“包裹性”。

(4)、display: table-cell

td, th { display: table-cell; }/*默认为单元格显示*/
登录后复制
登录后复制

举个例子:

记得刚学html时候,不会用div + css做多列布局,我就用table做多列布局。而今,你可以用table-cell,像用table一样做多列布局,做出来的效果和table做出来的效果是一模一样的。

(5)、display:inline-block

button, textarea, input, object, select { display:inline-block; } 
登录后复制

能被父容器居中、能设置高度宽度和margin、不会像table或div那样占一正行……??这就是inline-block。(具体可看看设置了该样式元素的表现。)

1、内联样式

中编写的样式代码。

2、内部样式

3、引用样式

引用的css文件。

4、浏览器用户自定义样式

在一些新闻网站中,经常看到可以设置字体大小的快捷菜单,例如下图就是搜狐新闻中的设置。

这些是给一些有视觉障碍的人看的,反正我是没用过,我也有视觉障碍,不过我是通过近视镜来解决的。

其实浏览器也有这样的设置,例如chrome浏览器中,我们就可以设置字号和字体。

用户在这里设置了字体和字号之后,它们会覆盖掉浏览器默认的样式。

本篇内容节选自《CSS知多少》

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

> gt;的目的是什么 元素? > gt;的目的是什么 元素? Mar 21, 2025 pm 12:34 PM

本文讨论了HTML< Progress>元素,其目的,样式和与< meter>元素。主要重点是使用< progress>为了完成任务和LT;仪表>对于stati

< datalist>的目的是什么。 元素? < datalist>的目的是什么。 元素? Mar 21, 2025 pm 12:33 PM

本文讨论了html< datalist>元素,通过提供自动完整建议,改善用户体验并减少错误来增强表格。Character计数:159

HTML5中跨浏览器兼容性的最佳实践是什么? HTML5中跨浏览器兼容性的最佳实践是什么? Mar 17, 2025 pm 12:20 PM

文章讨论了确保HTML5跨浏览器兼容性的最佳实践,重点是特征检测,进行性增强和测试方法。

< meter>的目的是什么。 元素? < meter>的目的是什么。 元素? Mar 21, 2025 pm 12:35 PM

本文讨论了HTML< meter>元素,用于在一个范围内显示标量或分数值及其在Web开发中的常见应用。它区分了< meter>从< progress>和前

如何使用HTML5表单验证属性来验证用户输入? 如何使用HTML5表单验证属性来验证用户输入? Mar 17, 2025 pm 12:27 PM

本文讨论了使用HTML5表单验证属性,例如必需的,图案,最小,最大和长度限制,以直接在浏览器中验证用户输入。

视口元标签是什么?为什么对响应式设计很重要? 视口元标签是什么?为什么对响应式设计很重要? Mar 20, 2025 pm 05:56 PM

本文讨论了视口元标签,这对于移动设备上的响应式Web设计至关重要。它解释了如何正确使用确保最佳的内容缩放和用户交互,而滥用可能会导致设计和可访问性问题。

< iframe>的目的是什么。 标签?使用时的安全考虑是什么? < iframe>的目的是什么。 标签?使用时的安全考虑是什么? Mar 20, 2025 pm 06:05 PM

本文讨论了< iframe>将外部内容嵌入网页,其常见用途,安全风险以及诸如对象标签和API等替代方案的目的。

Gitee Pages静态网站部署失败:单个文件404错误如何排查和解决? Gitee Pages静态网站部署失败:单个文件404错误如何排查和解决? Apr 04, 2025 pm 11:54 PM

GiteePages静态网站部署失败:404错误排查与解决在使用Gitee...

See all articles