使用div+css实现表格布局

news2024/11/17 4:50:29

DIV+CSS是WEB设计标准,它是一种网页的布局方法。与传统中通过表格(table)布局定位的方式不同,它可以实现网页页面内容与表现相分离。提起DIV+CSS组合,还要从XHTML说起。XHTML是一种在HTML(标准通用标记语言的子集)基础上优化和改进的新语言,目的是基于XML应用与强大的数据转换能力,适应未来网络应用更多的需求。

“DIV+CSS”其实是错误的叫法,而标准的叫法应是XHTML+CSS。因为DIV与Table都是XHTML或HTML语言中的一个标记,而CSS只是一种表现形式。也许其提出者本意并没有错,但是跟风者从表现曲解了其意思,认为整个页面就应当是DIV+CSS文件的组合。

css是层叠样式表(Cascading Style Sheets)的缩写,用于定义HTML元素的显示形式,是W3C推出的格式化网页内容的标准技术。网页设计者必须掌握的技术之一。

在HTML文档中加入CSS

样式表可分为嵌入式样式表、外部样式表和内联样式表三种,在同一文档内可以同时使用三种方法。

1.样式定义放在一个单独的文件中,例:新建一个后辍为CSS的样式定义。

元素{ 属性color:值red;} 在head段使用<link>标记,

引用语法:<link rel=”stylesheet” type=”text/css” href=”样式表URL” />

2.嵌入式样式表:

<style>元素段必须出现在head段内,有一个开始和结束标记,并且可以有多个<style>段

语法格式: <style type=”text/css”>

…样式定义…

样式

3.在嵌入式样式表中我们可以使用@import导入一个外部样式表,例:

<style type=”text/css”>

@import url(外部样式表位置);

…其它嵌入式的样式定义…

</style>

4.内联样式表:

写在开始标记里面,比如你要H1变红色,

<h1 style=”color:red;”>变为红色</h1>

总结: 三种样式表优先使用外部样式表、嵌入式样式表用来调试用的、一般不使用内联样式表。

5.样式规则:

一个样式规则由一个选择器后跟一个声明块组成,声明块是一个大容器,由大括号中间的部分组成,声明块中间的空间会被忽略,,声明块由一个一个的声明组成,声明由属性和值组成,属性和值用冒号隔开,分号结束,每个声明内只能有一个属性,如果属性值中含有空格用双引号括起来例,在一个声明块内可以有多个声明,每个声明用分号隔开。

 


 

用于element ui的tabel组件无法实现的特殊表格布局,如下:

 .vue文件:

<template>
  <basic-container>
    <div class="m-order-list-wrap">
        <div class="table_box">
          <div class="m-order-list-table-wrap-outer">
            <div class="m-order-list-table-wrap">
              <!-- 表头 -->
              <div class="m-order-list-header-wrap">
                <div class="m-order-list-header-item">所属渠道</div>
                <div class="m-order-list-header-item">商品名称</div>
                <div
                  class="m-order-list-header-item-width"
                  style="width: 120px"
                >
                  商品金额
                </div>
                <div
                  class="m-order-list-header-item-width"
                  style="width: 120px"
                >
                  商品数量
                </div>
                <div
                  class="m-order-list-header-item-width"
                  style="width: 120px"
                >
                  支付金额
                </div>
                <div
                  class="m-order-list-header-item-width"
                  style="width: 120px"
                >
                  支付方式
                </div>
                <div
                  class="m-order-list-header-item-width"
                  style="width: 120px"
                >
                  订单状态
                </div>
                <div
                  class="m-order-list-header-item-width"
                  style="width: 120px"
                >
                  物流状态
                </div>
                <div
                  class="m-order-list-header-item-width"
                  style="width: 120px"
                >
                  操作
                </div>
              </div>
              <!-- 列表内容 -->
              <div class="m-order-list-content-wrap">
                <div
                  v-for="item in tableData"
                  :key="item.channel_order_no"
                  class="m-order-list-content-item"
                >
                  <div class="m-order-list-content-item-left">
                    <!-- 基础信息 -->
                    <div class="m-order-list-content-item-header">
                      <div class="m-order-list-content-item-header-inner">
                        <span class="m-order-list-desc-label">店铺名称</span>
                        <span class="m-order-list-desc-value-header">{{
                          item.shop_name
                        }}</span>
                        <div>
                          <div style="margin: 0 0 4px 0">
                            <span class="m-order-list-desc-label"
                              >渠道订单号</span
                            >
                            <span class="m-order-list-desc-value-header">{{
                              item.channel_order_no
                            }}</span>
                          </div>
                          <div>
                            <span
                              class="m-order-list-desc-label"
                              style="width: 62px; text-align: right"
                              >分销单号</span
                            >
                            <span class="m-order-list-desc-value-header">{{
                              item.order_no
                            }}</span>
                          </div>
                        </div>

                        <span class="m-order-list-desc-label">下单时间</span>
                        <span class="m-order-list-desc-value-header">{{
                          item.order_create_at
                        }}</span>
                        <span class="m-order-list-desc-label">手机号</span>
                        <span class="m-order-list-desc-value-header">{{
                          item.place_order_phone
                        }}</span>
                        <span class="m-order-list-desc-label">买家/收货人</span>
                        <span class="m-order-list-desc-value-header">{{
                          item.place_order_nickname
                        }}</span>
                      </div>
                    </div>
                    <!-- 列表单元格 -->
                    <div class="m-order-list-content-item-info">
                      <!-- 所属渠道 -->
                      <div class="m-order-list-col">
                        <span class="m-order-list-desc-value-info">{{
                          item.channel_name
                        }}</span>
                      </div>
                      <!-- 商品名称 -->
                      <div class="m-order-list-col">
                        <span class="m-order-list-desc-value-info">{{
                          item.product_name
                        }}</span>
                      </div>
                      <!-- 商品金额 -->
                      <div class="m-order-list-col-width" style="width: 120px">
                        <span class="m-order-list-desc-value-info">{{
                          item.order_amount
                        }}</span>
                      </div>
                      <!-- 商品数量 -->
                      <div class="m-order-list-col-width" style="width: 120px">
                        <span class="m-order-list-desc-value-info">{{
                          item.product_quantity
                        }}</span>
                      </div>
                      <!-- 支付金额 -->
                      <div class="m-order-list-col-width" style="width: 120px">
                        <span class="m-order-list-desc-value-info">{{
                          item.pay_amount
                        }}</span>
                      </div>
                      <!-- 支付方式 -->
                      <div class="m-order-list-col-width" style="width: 120px">
                        <span
                          :class="[
                            `m-order-list-desc-value-info m-order-list-pay-type ${getPayTypeStatusClass(
                              item
                            )}`,
                          ]"
                          >{{ item.pay_type_name }}</span
                        >
                      </div>
                      <!-- 订单状态 -->
                      <div class="m-order-list-col-width" style="width: 120px">
                        <span
                          :class="[
                            `m-order-list-desc-value-info m-order-list-status ${getOrderStatusClass(
                              item
                            )}`,
                          ]"
                          >{{ item.order_status_name }}</span
                        >
                      </div>
                      <!-- 物流状态 -->
                      <div class="m-order-list-col-width" style="width: 120px">
                        <span
                          :class="[
                            `m-order-list-desc-value-info m-order-express-type ${getExpressStatusClass(
                              item
                            )}`,
                          ]"
                          >{{ item.logistics_status_name }}</span
                        >
                      </div>
                    </div>
                  </div>

                  <div class="m-order-list-operation" style="width: 120px">
                    <el-button
                      @click="handleEditModalVisible(item)"
                      type="text"
                      size="small"
                      v-if="permission.orderAfterSale"
                      >售后</el-button
                    >
                    <el-button
                      @click="handleJumpToDetail(item)"
                      type="text"
                      size="small"
                      v-if="permission.orderDetail"
                      >详情</el-button
                    >
                  </div>
                </div>
              </div>
              <div v-if="tableData.length === 0">
                <emptyData></emptyData>
              </div>
            </div>
          </div>
        </div>
    </div>
  </basic-container>
</template>

 index.css:

.m-tools-push-group {padding: 10px 10px 10px 0;box-shadow: 0 2px 12px 0 rgba(8, 2, 94, 0.5);margin: 5px 0 20px;border-radius: 10px;}
.m-entity-table .el-col-12{min-width: 490px;max-width: 490px;}
.m-entity-value{display: inline-block; width: 100px; white-space: break-spaces; vertical-align: top;}
.m-order-list-row{display:flex;padding:8px 5px;line-height:20px;}
.m-order-list-row.border1{border-right: 1px solid #EBEEF5;border-bottom: 1px solid #EBEEF5;}
.m-order-list-row.border2{border-right: 1px solid #EBEEF5;}
.m-order-list-row.border3{border-bottom: 1px solid #EBEEF5;}
.m-order-list-row-color{background: rgb(238, 241, 248);}

.m-order-list-search .el-row{margin: 0;}
.m-order-list-search .el-col{margin: 0;}

.m-order-list-desc-label{display:inline-block;font-size:12px;font-weight:400;margin:0 10px 0 0;white-space:nowrap;text-align:left;color:#000}
.m-order-list-desc-label::after{content:':'}

.m-order-list .el-table__row.expanded{display: none;}
.m-order-list .el-table__expanded-cell{padding: 0 0 0 50px!important;}
.m-order-list .el-table_1_column_1:first-child{display: inline-block;width: 1px;}

.m-order-list-table-wrap-outer{overflow-x: auto;}
.m-order-list-table-wrap{border-top: 1px solid #EBEEF5;border-left: 1px solid #EBEEF5;min-width: 1089px;}
.m-order-list-header-wrap{display: flex;padding:0;color: rgba(0,0,0,.85);font-size: 12px;font-weight: 700;background: #fafafa;line-height: 40px;}
.m-order-list-header-item{ flex: 1;min-width: 120px; text-align: center;border-right: 1px solid #EBEEF5;border-bottom: 1px solid #EBEEF5;}
.m-order-list-header-item-width{min-width: 120px; text-align: center;border-right: 1px solid #EBEEF5;border-bottom: 1px solid #EBEEF5;}

.m-order-list-content-item{display: flex; color: #606266;font-size: 12px;}
.m-order-list-content-item:nth-child(even){background: #F5F7FA;}
.m-order-list-content-item:hover{background: #eff6ff;}
.m-order-list-content-item-left{flex: 1;}
.m-order-list-content-item-header{display: flex;padding:15px 10px;border-bottom: 1px solid #EBEEF5;border-right: 1px solid #EBEEF5;}
.m-order-list-content-item-header-inner{display: flex;}
.m-order-list-desc-value-header{display:inline-block;margin: 0 10px 0 0; vertical-align:top;font-size:12px;font-weight:400;word-break:break-all;text-align:justify;color:#333;}
.m-order-list-content-item-info{display: flex;padding:0;}
.m-order-list-col{flex:1;min-width: 120px; display: flex;border-right: 1px solid #EBEEF5;border-bottom: 1px solid #EBEEF5;}
.m-order-list-col-width{display: flex;min-width: 120px; border-right: 1px solid #EBEEF5;border-bottom: 1px solid #EBEEF5;}

.m-order-list-desc-value-info{display:inline-block;padding: 0 2px;vertical-align:top;font-size:12px;font-weight:400;flex:1;line-height: 40px; word-break:break-all;text-align:justify;color:#333;text-align: center;}
.m-order-list-operation{display:flex;align-items: center;justify-content: center; vertical-align:top;font-size:12px;font-weight:400;line-height: 40px; word-break:break-all;text-align:justify;color:#333;text-align: center;border-right: 1px solid #EBEEF5;border-bottom: 1px solid #EBEEF5;}

.m-order-list-pagination{text-align: right;padding: 20px 5px;}

/* .m-order-list-search .el-col-12{min-width: 490px;max-width: 490px;} */

.m-order-list-time-range-item{max-width: 490px!important;}

.m-order-list-pagination .el-pagination.is-background .el-pager li:not(.disabled).active {background-color: #e5e4ed !important;color: #666 !important;}
.m-order-list-pagination .el-pagination.is-background .el-pager li {background-color: #fff;border: 1px solid #dddddd;border-radius: 6px;}

.m-order-list-status{font-weight: bold;color: #409EFF;}
.m-order-list-status.done{color: #67C23A;}
.m-order-list-status.unpaid{color: #6600cc;}
.m-order-list-status.wait_deliver{color: #ff9900;}
.m-order-list-status.refund_all{color: #663399;}
.m-order-list-status.refund_part{color: #cc33cc;}
.m-order-list-status.cancel_time{color: #cc3333;}
.m-order-list-status.cancel_user{color: #996633;}

.m-order-list-pay-type{font-weight: bold;color: #409EFF;}
.m-order-list-pay-type.wechat{color: #67C23A;}
.m-order-list-pay-type.zhifubao{color: #1677ff;}
.m-order-list-pay-type.doudian{color: #ff6600;}
.m-order-list-pay-type.banxuejin{color: #9900ff;}

.m-order-express-type{font-weight: bold;color: #409EFF;}
.m-order-express-type.unsend{color: #666666;}
.m-order-express-type.done{color: #67C23A;}
.m-order-express-type.wechat{color: #67C23A;}
.m-order-express-type.wechat{color: #67C23A;}










本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/136550.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【MySQL】【systemd】mysqld_pre_systemd 及 mysqld@.service 的 bugs

mysqld_pre_systemd 及 mysqld.service 的 bugs问题原理mysqld_pre_systemd 的 bugsmysqld.service 的 bugs测试案例重现不指定 datadir 和 log-error 的 bugs开启 SELinux &#xff0c;指定不同于默认值的自定义数据目录和错误日志位置进行测试修正方法方法一&#xff1a;向 m…

【Word】MathType 运行时错误‘53’:文件未找到:MathPage.WLL

问题描述 1. 环境&#xff1a; MathType7.4Microsoft Office 365Windows 11 2. 问题 情景1. Microsoft Word 启动时显示 Please reload Word to load MathType addin properly 情景2. 安装MathType后在 Microsoft Word 中使用复制粘贴时报错 运行时错误‘53’ 情景3. 在 M…

JavaScript 对象-三种创建对象的方式,遍历获取到对象。

JavaScript 对象-三种创建对象的方式&#xff0c;遍历获取到对象。 目录JavaScript 对象-三种创建对象的方式&#xff0c;遍历获取到对象。1. 对象1.1 什么是对象&#xff1f;1.2 为什么需要对象2. 创建对象的三种方式2.1 利用字面量创建对象2.2 利用new Object创建对象2.3 利用…

【数组】leetcode209.有序数组的平方(C/C++/Java/Js)

leetcode209.长度最小的子数组1 题目2 思路-滑动窗口3 代码3.1 C版本3.2 C版本3.3 Java版本3.4 JavaScript版本4 总结1 题目 题源链接 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl1, …, nu…

系列教程之《高铁上的GO》-第一篇

作者&#xff1a;坚果&#xff0c;OpenHarmony布道师&#xff0c;OpenHarmony校源行开源大使&#xff0c;CSDN博客专家&#xff0c;电子发烧友鸿蒙MVP&#xff0c;51CTO博客专家博主&#xff0c;阿里云博客专家。 本文主要讲解Go是什么&#xff0c;Go如何安装&#xff0c;开发G…

【Docker】(二)使用Dockerfile构建并发布一个SpringBoot服务

1.前言 在上一篇笔记 Docker基本概念与安装 中&#xff0c;我们已经获取到了一个Docker服务&#xff0c;并了解了Docker的基本组成及其各个组件的作用。 我们了解到&#xff0c;使用Docker的其中一个目的&#xff0c;是为了更加简单&#xff0c;方便的部署我们编写的服务&…

Typora下载和Markdown基础语法

本章内容如下&#xff1a; Typoar笔记下载资源及主题设置Markdown语法使用的基本方法 这篇博客一开始是为了教女朋友如何使用Typora和Markdown语法写的笔记&#xff0c;Markdown语法的内容不太全&#xff0c;只涉及基础使用。 文章目录Typora下载与主题设置Typora主题设置修改图…

在线考试答题系统的五大功能,你知道多少?

在线考试答题系统-五大功能&#xff0c;你知道多少&#xff1f;-在线考试答题系统优势&#xff1a;在线考试答题系统具有高度的可扩展性&#xff0c;高效灵活、功能强大。考试用户随时随地就可通过网络登录在线考试答题系统&#xff0c;参加在线报名、在线练习、在线考试、在线…

嵌入式开发中为什么选择C语言?它有哪些特点?

众所周知&#xff0c;C语言在嵌入式开发中占据着十分重要的地位&#xff0c;为什么嵌入式开发要选择C语言&#xff1f;嵌入式开发的方向可以分为单片机开发、Linx应用开发和现场可编辑逻辑门阵列&#xff08;FPGA)开发&#xff0c;不同于传统开发模式&#xff0c;操作系统是嵌入…

Nepnep x CatCTF Writeup

Web&#xff1a; 题目名称 ez_js 直接查看网页源代码&#xff0c;查看game.js&#xff0c;进入该目录即可得到flag Reverse&#xff1a; 题目名称 The cat did it 点进来看到一个看着很复杂的图像&#xff0c;离开的概率我猜是0% MD5加密&#xff0c;第一个即为flag Misc&am…

给在校学生的科普文:数字芯片后端工程师的日常

芯片后端设计&#xff0c;看似只是将网表中的晶体管摆放好。但并不是如同砖头砌墙那样简单粗暴。它是一门兼具形式美和工程实践需求的技术。形式美&#xff0c;直接来源于功能内容和需求&#xff0c;在后端设计的环节中&#xff0c;数以万计的标准单元如散乱的点点繁星&#xf…

2022年度穿戴设备行业分析:智能手表销额增长25%,智能手环销量下滑

当前&#xff0c;随着社会经济的发展与居民可支配收入的提高&#xff0c;居民的购买力逐渐增强&#xff0c;我国智能穿戴设备行业也得以快速发展。同时&#xff0c;随着相关技术的不断开发&#xff0c;我国智能穿戴设备行业的技术水平也持续提高。根据数据显示&#xff0c;智能…

软考中级数据库系统工程师好考吗?

数据库还好的&#xff0c;每年五月份考试&#xff0c;通过率20-30%。 数据库系统工程师&#xff0c;主要考核内容&#xff1a;数据库系统基本概念及关系理论&#xff1b;常用的大型数据库管理系统的应用技术&#xff1b;数据库应用系统的设计方法和开发过程&#xff1b;数据库系…

【C++修炼之路】12. stack queue类

每一个不曾起舞的日子都是对生命的辜负 stack&&queue一. stack的介绍和使用1. stack的介绍2. stack的使用二. stack的模拟实现三. queue的介绍和使用1. queue的介绍2. queue的使用四. queue的模拟实现五. deque的介绍和使用1. deque的介绍2. deque的使用3. deque的缺陷…

东方通无法加载程序jar包中的js

东方通中间件使用龙芯适配程序问题描述&#xff1a;东方通无法加载程序jar包中的js排查过程&#xff1a;根据以往经验确保东方通处于最新版本&#xff0c;确认版本为最新的检查容器配置&#xff0c;确认无误在东方通tongweb/bin/external.vmoption 里把-DWebModuleOnly参数值改…

Qt扫盲-QSS定制Qt Widget控件

QSS定制Qt Widget控件概述一、盒子模型二、子控件概述 在使用样式表时&#xff0c;每个部件都被视为具有四个同心矩形的盒子:外边距矩形、边界矩形、内边距矩形和内容矩形。 其实即是每一个继承至 QWidget 都支持的&#xff0c;这个和 前端的 CSS 里面的 盒子模型有些区别但是…

哪吒S亮相广州车展,定位B级燃油车颠覆者

2022年收官&#xff0c;哪吒汽车宣布全年交付152073台&#xff0c;其中&#xff1a; •哪吒U 51021台&#xff1b; •哪吒V 98847台&#xff1b; •哪吒S 2003台&#xff08;12月首月交付&#xff09;。与此同时&#xff0c;在年末的广州车展&#xff0c;哪吒汽车携全系车型参展…

Elastic-Job分布式任务调度(2):Elastic-Job快速入门

1 环境搭建 1.1 版本要求 JDK要求1.7及以上版本 Maven要求3.0.4及以上版本 zookeeper要求采用3.4.6及以上版本 1.2 Zookeeper安装&运行 自行查看我的zookeeper专题 ZooKeeper(3):ZooKeeper集群环境搭建_不死鸟.亚历山大.狼崽子的博客-CSDN博客 1.3 创建maven工程 创建…

Python代理IP的使用和代理池的设置

熟悉python的人都知道为了python的正常请求&#xff0c;维持数据的稳定获取&#xff0c;都会用到代理IP。代理IP不仅可以用来规避IP在单位时间的请求次数&#xff0c;还可以借助代理来隐藏真实的IP&#xff0c;避免出现“IP请求过于频繁”&#xff0c;“403”等报错。今天就带大…

甲方安全之仿真钓鱼演练(邮件+网站钓鱼)

文章目录一、简介1.1 前言1.2 整体思路1.3 演练所需1.4 各邮件厂商日群发上限二、钓鱼平台搭建及配置2.1 gophish平台搭建2.2 收件目标配置&#xff08;User & Groups&#xff09;2.3 发信邮箱配置&#xff08;Sending Profiles&#xff09;2.4 邮件模版配置&#xff08;Em…