您的位置:

如何使用CSS创建表格

计算机中,表格是一种最常见的数据呈现方式之一。然而常规的表格可能带来样式单调、排版混乱等问题,这时候通常会运用CSS技术来实现表格的美化和布局。下面将从以下几个方面详细介绍如何使用CSS创建表格。

一、基础表格

创建表格前,首先需要了解一些基础的表格元素,包括:table、th、tr、td。其中,table为表格的最外层元素,tr表示表格的一行,th表示表格的表头单元格,td表示表格的数据单元格。

<table> 
    <tr>
        <th>姓名</th>
        <th>年龄</th>
        <th>性别</th>
    </tr>
    <tr>
        <td>张三</td>
        <td>20</td>
        <td>男</td>
    </tr>
    <tr>
        <td>李四</td>
        <td>22</td>
        <td>女</td>
    </tr>
</table>

运行代码,会得到如下基础表格:

姓名 年龄 性别
张三 20
李四 22

二、表格边框样式

在Basic表格的基础上,可以通过CSS来实现表格的边框样式、宽度、颜色等控制。具体来说,可以通过CSS中的border属性来实现。下面演示一下如何通过CSS设置表格的边框样式为实线,边框宽度为1px,颜色为灰色。

table, th, td {
    border: 1px solid grey;
}

代码运行后,基础表格将会变成以下这个样子:

姓名 年龄 性别
张三 20
李四 22

可以看到,表格的边框样式已经设置成功了。

三、表格内边距和外边距

表格内边距和外边距是控制表格与容器之间和表格内部元素之间距离的重要属性,表格的内边距指的是单元格边缘与单元格中内容之间的距离,而外边距则指的是表格边框和容器之间的距离。

table, th, td {
    border: 1px solid grey;
    padding: 10px;
    margin: 10px;
}

代码运行后,表格将被设置为以下这个样子:

姓名 年龄 性别
张三 20
李四 22

可以看到,表格外部的距离以及单元格的内部距离都被成功设置了。

四、表格背景色和文字居中

表格的背景色和文字居中都是常用的CSS样式设置。下面演示一下如何通过CSS设置表格的背景色为灰色,文本内容居中。

table {
    border-collapse: collapse;
    background-color: grey;
}

td, th {
    text-align: center;
    padding: 10px;
}

代码运行后,表格将被设置为以下这个样子:

姓名 年龄 性别
张三 20
李四 22

可以看到,表格的背景色已经被成功设置,并且单元格中的文本都居中显示了。

五、表格宽度和高度

表格宽度和高度也是表格常用的CSS属性设置,通过设置表格的宽度和高度,可以让表格在页面中更加美观、整齐。下面演示一下如何通过CSS设置宽度为100%。

table {
    border-collapse: collapse;
    background-color: grey;
    width: 100%;
}

td, th {
    text-align: center;
    padding: 10px;
}

代码运行后,表格将会被设置为以下这个样子:

姓名 年龄 性别
张三 20
李四 22

可以看到,表格的宽度已经被成功设置。

六、合并单元格

有时候表格会因为数据量比较大而显得比较混乱,这时候可能会需要将单元格进行合并,以达到更加美观的效果。下面演示一下如何通过CSS合并单元格。

<table>
    <tr>
        <td rowspan="2">1</td>
        <td>2</td>
        <td>3</td>
    </tr>
    <tr>
        <td colspan="2">4</td>
    </tr>   
</table>

代码运行后,表格将会被设置为以下这个样子:

1 2 3
4

可以看到,表格中单元格1和单元格4被成功合并了。

七、小结

通过本文的讲解,我们了解到了CSS创建表格的基础知识、如何设置表格的边框样式、内外边距、背景色、宽度和高度、以及如何合并单元格等技巧。这些技巧可以帮助我们更加方便、快捷地创建出美观、简洁而又实用的表格。

如何使用CSS创建表格

2023-05-12
如何利用CSS创建响应式网站

2023-05-12
如何使用HTML和CSS创建漂亮的数据表格

2023-05-12
js创建样式类,样式的创建和使用

本文目录一览: 1、JavaScript如何创建一个类? 2、Javascript里的style怎样追加 3、怎样用JS来添加CSS样式 4、JS创建的style样式怎么使用变量 5、用JavaScr

2023-12-08
如何使用HTML和CSS创建响应式网页设计

2023-05-12
如何使用CSS创建响应式网站

2023-05-12
如何使用CSS创建吸引人的背景风格?

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

2023-05-12
如何使用CSS和HTML创建无滚动条网页

2023-05-12
如何使用CSS创建圆角边框效果

2023-05-12
如何使用CSS创建动画效果

2023-05-12
如何用CSS优化HTML表格

2023-05-12
如何使用CSS和HTML创建自定义光标

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)