您的位置:

CSS简介及HTML中的层叠样式表解析

一、CSS的概念

CSS,即层叠样式表(Cascading Style Sheets),是一种样式表语言,用来描述文档如何呈现在不同的设备上或者不同的媒体上。

CSS与HTML配合使用,可以实现网页的格式排版、字体颜色大小和位置布局等效果。相对于HTML,CSS更为灵活,可以实现更为复杂的效果。

二、CSS的使用

1. 内嵌式CSS

<head>
    <title>内嵌式CSS</title>
    <style>
        p{
            color: red;
            font-size: 20px;
        }
    </style>
</head>
<body>
    <p>这是内嵌式CSS样式</p>
</body>

以上代码实现了将p标签中的字体颜色改为红色,字体大小为20px。

2. 外部式CSS

外部式CSS是将CSS代码单独存放在一个CSS文件中,通过link标签将其与HTML文件整合在一起。

样式文件style.css内容:

p{
    color: red;
    font-size: 20px;
}

HTML文件链接样式文件:

<head>
    <title>外部式CSS</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <p>这是外部式CSS样式</p>
</body>

3. 行内式CSS

行内式CSS直接在HTML标签中书写CSS样式。

<p style="color: red; font-size: 20px;">
    这是行内式CSS样式
</p>

三、层叠样式表解析

层叠样式表解析(CSS解析)的过程在浏览器中完成,大概可以分为以下几个步骤:

1. 识别样式

浏览器从HTML中解析CSS代码,识别出所有样式,并形成样式规则。

/*样式规则*/
p{
    color: red;
    font-size: 20px;
}

2. 层叠优先级计算

在页面中,可能会存在多个样式规则同时作用于同一个元素,此时需要根据层叠优先级进行计算,确定最终的样式。

层叠优先级的计算规则是:内联样式表>id选择器>class选择器>标签选择器

3. 继承样式

某些属性会被其子元素继承,例如字体颜色和字体大小等属性,而某些属性则不会被继承,例如边框和背景等属性。

子元素如果没有设定某些属性,则会继承父级元素的该属性值。

4. 样式渲染和显示

样式优先级计算完成后,浏览器根据最终的样式规则渲染页面,并将结果显示在屏幕上。

四、总结

CSS作为一种强大的样式表语言,可以非常方便地实现Web页面的布局和设计,使得Web开发更为灵活、高效。

同时,了解CSS解析可以帮助我们更好地理解样式的运作机制,避免不必要的冲突和错误。

CSS简介及HTML中的层叠样式表解析

2023-05-12
如何使用CSS层叠样式表优化网页内容

2023-05-12
理解 CSS 层叠顺序中的 z-index 属性

2023-05-12
什么是层叠样式表?

2023-05-12
css解释器js(HTML解释器)

本文目录一览: 1、python爬取网页时会不会加载css,js等内容 2、html css js 是编程语言 还只是一种规范? 3、HTML,Css还有Js分别是什么意思 4、如何在css中调用js

2023-12-08
js和css重叠(html重叠)

本文目录一览: 1、html中管理多个js文件和css文件,怎么统一把衔接放到两个文件中,分别管理css和js? 2、如何让合并CSS和JS文件来 分别合并相同域名下的JS文件和CSS文件可减少请求数

2023-12-08
了解CSS样式表的含义和使用方法

2023-05-12
什么是CSS样式

2023-05-12
CSS样式列表

2023-05-12
cssjs钟表样式(js表格样式)

本文目录一览: 1、JS调用CSS样式表问题(功能鼠标经过文本域是文本域边框颜色发生变化『给出能够实现功能的源码』) 2、JS中改变CSS样式的问题 3、css怎么样制作钟表 4、如何用JS修改已加载

2023-12-08
如何使用层叠样式表(CSS)为HTML文档创建漂亮的页面

2023-05-12
CSS中的样式表属性和使用方法

2023-05-12
CSS中z-index层叠顺序设置方法

2023-05-12
网页代码html+css+js(网页代码html+css)

本文目录一览: 1、HTML,Css还有Js分别是什么意思 2、html简单网页代码怎么写? 3、HTML、CSS、Javascript在Web开发中的作用? 4、HTML中css和js有什么区别?

2023-12-08
CSS定义:如何使用层叠样式表为网站增强外观

2023-05-12
c语言就是css吗,css跟c语言一样吗

2023-01-08
如何合理使用 CSS 层叠属性提升网站元素的层级?

2023-05-12
深入理解CSS中的层叠顺序属性z-index

2023-05-12
when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${item.id} [in template "article/detail/index.ftl" at line 48, column 106] ---- Java stack trace (for programmers): ---- freemarker.core.InvalidReferenceException: [... Exception message was already printed; see it above ...] at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134) at freemarker.core.EvalUtil.coerceModelToTextualCommon(EvalUtil.java:481) at freemarker.core.EvalUtil.coerceModelToStringOrMarkup(EvalUtil.java:401) at freemarker.core.EvalUtil.coerceModelToStringOrMarkup(EvalUtil.java:370) at freemarker.core.DollarVariable.calculateInterpolatedStringOrMarkup(DollarVariable.java:104) at freemarker.core.DollarVariable.accept(DollarVariable.java:63) at freemarker.core.Environment.visit(Environment.java:371) at freemarker.core.IteratorBlock$IterationContext.executedNestedContentForCollOrSeqListing(IteratorBlock.java:321) at freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:271) at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:244) at freemarker.core.Environment.visitIteratorBlock(Environment.java:645) at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:108) at freemarker.core.IteratorBlock.accept(IteratorBlock.java:94) at freemarker.core.Environment.visit(Environment.java:335) at freemarker.core.Environment.visit(Environment.java:341) at freemarker.core.Environment.visit(Environment.java:341) at freemarker.core.Environment.process(Environment.java:314) at freemarker.template.Template.process(Template.java:383) at org.springframework.web.servlet.view.freemarker.FreeMarkerView.processTemplate(FreeMarkerView.java:332) at org.springframework.web.servlet.view.freemarker.FreeMarkerView.doRender(FreeMarkerView.java:266) at org.springframework.web.servlet.view.freemarker.FreeMarkerView.renderMergedTemplateModel(FreeMarkerView.java:220) at org.springframework.web.servlet.view.AbstractTemplateView.renderMergedOutputModel(AbstractTemplateView.java:181) at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:314) at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1431) at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1167) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1106) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) at com.software.filter.HttpSpiderIdentifyFilter.doFilter(HttpSpiderIdentifyFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:340) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at java.base/java.lang.VirtualThread.run(VirtualThread.java:309)