Flex布局小练--博文列表item布局实现

news2024/11/17 0:56:48

文章目录

  • 前言
  • 元素组成
  • 实现
    • html部分
    • 布局
  • 总结

前言

今天划一个水先,没办法,作孽没写完,什么这不是作孽的一部分嘛?!听不见,听不见。
来先看一下我们要做的一个效果:
首先是这个页面下面的:
在这里插入图片描述
这个玩意,先前的话其实咱们以前实现的时候呢是直接用最原始的方式来实现的,但是呢没办法作孽要求是需要flex布局,那么没办法只能改一下了。其实简单呢也是挺简单的,也刚好可以给我水一下博文~
在这里插入图片描述
那么接下来的话,我们就直接看到这个效果是怎么做出来的吧。

元素组成

首先的话,我们先来看一下这个玩意的布局大概应该是咋样的。
首先的话最外层是我们的element的一个card,这个的话是和咱们没有关系的,我们需要看到的话是咱们的内容的一个div。每次我就是喜欢用div,咬我呀~
在这里插入图片描述
其实一开始我是想要借鉴一下C站的,但是想了一下,有点太刑了,就算了。

之后的话,我们来看到这个内容里面有啥:
在这里插入图片描述
我们这里面的话有三个DIV,然后咱们是flex布局,所以的话就直接放就好了。
之后我们左侧有头像,中间是我们massage的一些展示,比如博文标题,博文的大概简介之类的。
最右侧就是一个时间。

OK,现在我们再来看到中间的一个massage是怎么做的:
在这里插入图片描述
没错这里面的话有三个div来实现。OK,那么到现在的话,我们基本的一个东西大概就懂了。

实现

html部分

那么接下来我们就按照层级去慢慢说明这些玩意是咋实现的。
首先的话我们再来看到我们的html部分是

 <el-card shadow="hover" v-for="(message,index) in Messages" :key="index">

        <div class="base_item_box">
          <div  class="blog_img_contain">
            <el-image
              class="blog_img"
              v-bind:src="message.blogimg"
            />
          </div>
          <div class="message_item">
            <div class="message" style="font-weight:bold">
              <router-link class="alink" :to="{ path: '/blogshow',query:{'blogid':message.blogid}}">
                {{message.blogTitle}}
              </router-link>

            </div>
            <div style="font-weight: lighter" class="message"

            >
              {{message.info}}
            </div>
            <div class="message">
              阅读:
              <i class="el-icon-view"></i>
              {{message.viewNumber}}
              &nbsp;&nbsp;
              收藏:
              <i class="el-icon-star-off"></i>
              {{message.collectNumber}}
              &nbsp;&nbsp;

              fork:{{message.forkNumber}}
            </div>

          </div>

          <div class="blog_date_item"
          >
            <p class="date_time">{{message.createTime}}</p>
          </div>

        </div>
        <br>
      </el-card>

大概就是这样的。然后的话这里面,我们稍微收敛了一下的就是,那些浏览,收藏显示的话,我们是用i标签来做的。

布局

OK,现在我们开始进行一个布局。那么首先看到的就是我们最外侧的一个布局。

.base_item_box{
  display: flex;
  height:100px;
  flex-wrap: nowrap;
  gap: 20px;
}

我们这边的话,就是说直接使用flex,然后呢,我们要做一个摆放,然后我们这边不换行的一个摆放(当然我们这边设置的其实就不好超过挤出一行)然后我们这边注意到一个属性gap,这个玩意呢就是调整一下我们的这个间距。然后默认我们是一个水平的主轴:
在这里插入图片描述

之后的话,是我的一个头像部分的处理,这个的话其实很简单,就是一个div后面包括了一个图像:

.blog_img_contain{
  width: 100px;
  height: 100px;
  border-radius: 100px;
}
.blog_img{
  width:100%;
  height: 100%;
  border-radius: 100px;
}

这个的话咱们这边就没啥好说的。
设置一下高度就完了。

之后的话就是咱们关于message的一个实现了:

.message_item{
  display: flex;
  gap: 10px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

这个的实现其实也非常简单,就是说改变一下主轴的方向就好了,我们把水平的放在垂直的,然后呢,我们设置一下子元素居中就好了。

这里还有一个玩意就是关于文字的一个限制的css

.message{
  width: 25em;
  overflow: hidden;
  text-overflow:ellipsis;
  white-space: nowrap;
}

当然这个和我们的布局没啥关系,还有一个alink这个的话是关于超链接的一个,也没啥关系。

最后的话就是日期的实现

.blog_date_item{
  display: flex;
  width:18%;
  height: 100%;
  align-items: center;
  justify-content: center;
}

.date_time{
  text-align: center;
  font-size: 8px
}

这个一看就明白了,就是一个div作为容器,然后往里面放东西。

完整的代码就是这样的:

.base_item_box{
  display: flex;
  height:100px;
  flex-wrap: nowrap;
  gap: 20px;
}

.blog_img_contain{
  width: 100px;
  height: 100px;
  border-radius: 100px;
}
.blog_img{
  width:100%;
  height: 100%;
  border-radius: 100px;
}
.message_item{
  display: flex;
  gap: 10px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.blog_date_item{
  display: flex;
  width:18%;
  height: 100%;
  align-items: center;
  justify-content: center;
}

.date_time{
  text-align: center;
  font-size: 8px
}

这样一来一个这个玩意就做好了。很好web作孽的报告的一部分我也写完了

总结

水文一篇~如果有需要cv,改一下就好了。

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

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

相关文章

如何基于Jetbrains IDEA DataBase从数据库表中生成对应的Java Bean

在日常的项目开发过程中&#xff0c;大部分人可能都会遇到过想从表自动生成带有注释的Java Bean&#xff0c;在Jetbrains IDEA中通过DataBase工具也是可以生成的。Jetbrains IDEA的Database借助一个名称为Generate POJOs.groovy的groovy模板文件&#xff0c;可以帮我们做代码生…

Python工程师Java之路(t)SpringBoot部署步骤 java -jar

文章目录步骤1、开发环境2、新建工程3、新建controller4、开发环境试运行和测试5、打包运行命令补充步骤 1、开发环境 WIN10IDEA2021Maven3.6.3JDK1.8 2、新建工程 选择Spring和Java版本 添加依赖 3、新建controller package com.example.demo.controller;import org.spr…

macOS Ventura 13.1 (22C65) Boot ISO 原版可引导镜像

本站下载的 macOS Ventura 软件包&#xff0c;既可以拖拽到 Applications&#xff08;应用程序&#xff09;下直接安装&#xff0c;也可以制作启动 U 盘安装&#xff0c;或者在虚拟机中启动安装。 2022 年 12 月 13 日&#xff0c;macOS Ventura 13.1 推出了“无边记”&#x…

基于python的PatchMatchStereo立体匹配算法实现

文章目录前言一、PatchMatchStereo是什么&#xff1f;1.随机初始化2.迭代传播2.1空间传播2.2视图传播2.3帧间传播2.4平面细化二、PatchMatchStereo立体匹配算法实现前言 PatchMatchStereo是Michael Bleyer等在2011年发表于British Machine Vision Conference&#xff08;BMVC&a…

机器学习 鸢尾花数据集划分 训练集和测试集

目录 一&#xff1a;加载数据 二&#xff1a;数据集整理 三&#xff1a;数据集划分 一&#xff1a;加载数据 加载数据&#xff0c;并创建一个DataFrame&#xff0c;便于数据分析 from sklearn.datasets import load_iris import pandas as pd import numpy as np from skle…

大数据:计算学生成绩

文章目录一、提出任务二、任务进行&#xff08;一&#xff09;准备数据1、在虚拟机上创建文本文件2、上传文件到HDFS指定目录&#xff08;二&#xff09;实现步骤1、创建Maven项目2、添加相关依赖3、创建日志属性文件4、创建成绩映射器类5、创建成绩驱动器类6、启动成绩驱动器类…

【JavaSE】类和对象(三)——内部类

目录 1. 何为内部类 2. 内部类的分类 2.1 静态内部类 2.1.1 如何实例化静态内部类的对象&#xff1f; 2.1.2 外部类与静态内部类如何相互访问&#xff1f; 2.2 非静态内部类/实例内部类 2.2.1 非静态内部类不能定义静态的成员变量以及方法 2.2.2 非静态内部类的实例化 2.2.…

三层-生成树-ospf-速端口思科练习实验

♥️作者&#xff1a;小刘在这里 ♥️每天分享云计算网络运维课堂笔记&#xff0c;疫情之下&#xff0c;你我素未谋面&#xff0c;但你一定要平平安安&#xff0c;一 起努力&#xff0c;共赴美好人生&#xff01; ♥️夕阳下&#xff0c;是最美的&#xff0c;绽放&#xff0c;…

Spark-SaprkStreaming(概述、架构、原理、DStream转换、案例)

文章目录SparkStreaming概述特点架构原理DStream和RDD的区别DAG如何读取数据(※)WordCount 案例实操代码解析RDD 队列用法及说明案例实操自定义数据源Kafka 数据源DStream 转换无状态转化操作Transformjoin有状态转化操作UpdateStateByKeyWindowOperationsDStream 输出优雅关闭…

pip命令安装torchnet包,超简单!

pip命令安装torchnet包&#xff0c;超简单&#xff01; torchnet是torch的框架&#xff0c;它提供了一组抽象&#xff0c;旨在鼓励代码重用以及鼓励模块化编程。 目前&#xff0c;torchnet提供了四组重要的类&#xff1a; Dataset&#xff1a;以各种方式处理和预处理数据。 …

Typora入门教程

文章目录Typora入门教程1 简要介绍2 下载安装包3 常用操作3.1 标题3.2 加粗3.3 斜体3.4 高亮3.5 分割线3.6 图片3.7 链接3.8 引用3.9 列表3.10 目录3.11 表格3.12 代码块3.13 行内代码3.14 按键效果4 自定义快捷键5 Typora PicGo 阿里云OSS搭建个人笔记5.1 注意事项5.2 准备工…

Hibernate学习总结

文章目录一、图解运行过程二、核心代码三、session方法2、session缓存3、save&#xff08;&#xff09;与persist&#xff08;&#xff09;4、get()5、update()6、delete()7、evict()8、doWork()&#xff0c;可获得connection对象四、hibernate.cfg.xml(使用数据库连接池)五、*…

java项目-第176期ssm个人交友网站系统-java毕业设计

java项目-第176期ssm个人交友网站系统-java毕业设计 【源码请到下载专栏下载】 《个人交友网站》 该项目分为2个角色&#xff0c;管理员、用户角色。 用户可以浏览前台,包含功能有&#xff1a; 首页、交友信息、线下活动、系统公告、论坛信息 管理员进行后台登录&#xff0c;包…

【KNN分类】基于matlab模拟退火优化KNN、蝗虫算法优化KNN数据分类【含Matlab源码 2275期】

⛄一、1KNN算法思想 K近邻算法&#xff08;KNN,K nearest neighbor algorithm&#xff09;是机器学习中一种基本的分类与回归方法&#xff0c;其主要原理是通过对不同测试样本之间的距离进行量测&#xff0c;而后寻找最为相近的K个样本来进行分类&#xff0c;具有简单、直观、…

【LeetCode题目详解】(三)21.合并两个有序链表、141.环形链表、142.环形链表Ⅱ

目录 一、力扣第21题&#xff1a;合并两个有序链表 解法思路 代码一 代码二 代码三 二、力扣第141题&#xff1a;环形链表 1.快慢指针法 2.证明快慢指针是可行的 三、力扣第142题&#xff1a;环形链表Ⅱ 1.解题思路 2.代码 总结 一、力扣第21题&#xff1a;合并两个…

selenium自动化测试

文章目录1.什么是自动化测试2.UI自动化测试3, webdriver的原理元素的定位定位操作示例操作测试对象添加等待固定等待智能等待打印信息浏览器的操作浏览器最大化设置浏览器宽、高操作浏览器的前进、后退控制浏览器滚动条键盘事件键盘按键用法键盘组合键用法鼠标事件ActionChains…

接口测试(七)—— 参数化、数据库操作封装、接口自动化框架

目录 一、接口自动化测试框架 1、目录结构 二、封装iHRM登录 1、普通方式实现 2、登录接口对象层 3、登录接口测试用例层 4、封装断言方法 三、参数化 1、回顾UnitTest参数化 1.1 原始案例 1.2 参数化实现 1.3 从json文件读取 2、登录接口参数化 2.1 组织数据文…

ArcGIS:如何进行离散点数据插值分析(IDW)、栅格数据的重分类、栅格计算器的简单使用、缓冲区分析、掩膜?

目录 01 说明 02 实验目的及要求 03 实验设备及软件平台 04 实验内容与步骤 4.1 反距离权重插值分析 4.2 多栅格局域运算 4.3 按表格显示分区统计 4.4 重分类 4.5 邻域运算 4.6 矢量数据的裁剪 4.7 缓冲区分析及栅格数据提取分析 05 思考及讨论 01 说明 由于这次的作业是从word…

jsp+ssm计算机毕业设计宠物寻回系统【附源码】

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; JSPSSM mybatis Maven等等组成&#xff0c;B/S模式 Mave…

2.两数相加

正在建设中 传送门&#xff1a; https://leetcode.cn/problems/add-two-numbers/ 题目描述 给你两个非空的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照逆序的方式存储的&#xff0c;并且每个节点只能存储一位数字。 请你将两个数相加&#xff0c;并以相同形…