CSS(十二).transition的应用之CSS中心扩散
实现 css中心向两边扩散的两个核心
- 1.hover 之前的 垂直居中
- 2.文字置于最顶层
顺道来讲讲hover
伪元素是不支持 hover 的,不过我们可以给普通的 tag 标签添加 hover 以此来支持伪元素的 hover,例如 .div2:hover::before
顺道抬一手absolute
absolute有悬浮在元素上层的作用。
实现一
css
.wrap {
position: relative;
display: flex;
align-items: center;
justify-content: center;
width: 200px;
height: 60px;
background-color: #6B7C7A;
border-radius: 10px;
color: #fff;
cursor: pointer;
}
.box {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 0;
height: 60px;
transition: all .8s;
}
.wrap:hover .box {
width: 200px;
border-radius: 10px;
background-color: #000;
transition: width .8s;
}
html
<div class="wrap">
兄弟元素是一个div
<div class="box"></div>
</div>
概述
一个尚未成型的功能。
通过 flex 的方式将文字居中。
内嵌了一个空的 div 元素,并且设置为 absolute 使其不影响毗邻的 文字。待解决
也许我们能够通过 伪元素 来改进使得不需要 多嵌入那一个 div。
同时,文字的上排显示 也是我们需要解决的一个问题。
实现二
根据上面,A.我们可以利用伪元素来改进 多余的那个 div
B. 同时,我们通过对 文字 使用 absolute 来解决文字没有置顶的问题。
这里主要要注意的是 伪元素 没有 content 是不会出现的
css
.wrap {
position: relative;
display: flex;
align-items: center;
justify-content: center;
width: 200px;
height: 60px;
background-color: #6B7C7A;
border-radius: 10px;
color: #fff;
cursor: pointer;
}
.wrap:before {
content: '';
width: 0;
height: 60px;
transition: all .8s;
}
.wrap:hover::before {
width: 200px;
border-radius: 10px;
background-color: #000;
transition: width .8s;
}
.box {
position: absolute;
}
html
<div class="wrap">
<div class="box">现在文字出现在了内框</div>
</div>
- 概述
基本上实现了我们所需要的功能。双层结构。其实 删除了 多余的代码 之后,这种实现已经非常不错了。 - 待解决
文字置顶的方法或许可以改进 ? 不一定让其为 absolute?
等待未来更好的办法
那么我们来想想办法,不让文字被遮挡,或者说 -- 文字置顶。
父级的 absolute 主要是两个作用,一个是怕影响到文字,二是居中。A.其实,直接设置文字为 absolute 即可(孤掌难鸣)。 B.其实 flex 的布局方式已经实现了居中。
CSS(十二).transition的应用之CSS中心扩散的更多相关文章
- 数往知来 CSS<十二>
div+css基础 一.外部样式<!--外部样式可以使网页与样式分离,分工处理 1.写网页,主要提供内容,一般都会有固定的结构,具有id等属性的标签包括特定的内容 2.根据结构写样式另存为css ...
- 谈谈一些有趣的CSS题目(十二)-- 你该知道的字体 font-family
开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...
- 还需要学习的十二种CSS选择器
在前面的文章中,我们在介绍了<五种你必须彻底了解的CSS选择器>,现在向大家介绍,还需要学习的另外十二种CSS选择器.如果你还没有用过,就好好学习一下,如果你已经熟知了就当是温习. 一.X ...
- webpack4对第三方库css,项目全局css和vue内联css文件提取到单独的文件(二十二)
在讲解提取css之前,我们先看下项目的架构如下结构: ### 目录结构如下: demo1 # 工程名 | |--- dist # 打包后生成的目录文件 | |--- node_modules # 所有 ...
- Selenium系列(十二) - 自动化必备知识之CSS选择器的详细使用
如果你还想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识, ...
- css010 css的transform transition和animation
css010 css的transform transition和animation 看着没有一个能想起他们是干什么的.. 1. Transform Transform(变形) r ...
- 前端总结·基础篇·CSS(二)视觉
前端总结系列 前端总结·基础篇·CSS(一)布局 前端总结·基础篇·CSS(二)视觉 前端总结·基础篇·CSS(三)补充 前端总结·基础篇·CSS(四)兼容 目录 一.动画(animation)(IE ...
- 标准之路网站上一篇文章《十天学会web标准(div+css)》的营养精华
以下精华出自如下链接,“http://www.aa25.cn/special/10day/index.shtml”,<十天学会web标准(DIV+CSS)>. 这个内容不要删掉:“< ...
- CSS:word-wrap/overflow/transition
一 自动换行:一个div有固定宽高,如果其内容很长,必须两行以上才能显示完整的时候,有两种情况要留意 1 默认如果其内容都是中文,那么内容是可以自适应,而不会溢出div 2 如果内容除了中文之外,还有 ...
随机推荐
- oracle connect by用法篇 (包括树遍历)之一
1.基本语法 select * from table [start with condition1] connect by [prior] id=parentid 一般用来查找存在父子关系的数据,也就 ...
- 11-24网页基础--Js框架及学习思路
第一部分 基本语法: 1.数据类型(字符串.小数.整数.布尔.时间日期)var s="3.14" var n=parsefloat(s) s+=5;var s="abc3 ...
- openGL一些概念01
顶点数据: 顶点数据是一系列顶点的集合. 一个顶点(Vertex)是一个3d坐标的数据的集合. 而顶点数据是用顶点属性(Vertex Attribute)表示的,它可以包含任何我们想用的数据. (但是 ...
- JAVA基础知识总结12(多线程)
进程:正在进行中的程序.其实进程就是一个应用程序运行时的内存分配空间. 线程:其实就是进程中一个程序执行控制单元,一条执行路径.进程负责的是应用程序的空间的标示.线程负责的是应用程序的执行顺序. 一个 ...
- viewpagerindicator+UnderlinePageIndicator+ viewpage切换
布局文件activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/androi ...
- chosen.jquery插件的使用
前几天在jQuery官网看到了插件里面有400多个插件,看了下效果都很好,以后项目里面难免会用到.于是下了个决定,有时间把官网的插件都研究下,并简单介绍他的用法,方便以后的使用. 下面将要提到的是jQ ...
- day36-hibernate检索和优化 01-上次课内容回顾
clear():直接清空一级缓存的所有对象.evict(Object obj):清空一个对象.flush():控制你的刷出的时机.refresh(Object obj);将你的数据查出来把一级缓存覆盖 ...
- iOS 通过接受距离传感器的消息改变屏幕的明暗度(仅限用于真实的手机)
#import "AppDelegate.h" @interface AppDelegate () @end @implementation AppDelegate - (BOOL ...
- jmeter CSV Data数据中带有逗号解决方法
今天用jmeter做性能测试,由于参数的数据中含有逗号,一直失败,尝试了几次终于成功,先写下经验 首先看设置 E:\apache-jmeter-2.12\bin\litaojunzb.csv文件格式如 ...
- Json Post到 https的坑 - the underlying connection was closed an unexpected error occurred on a send(远程服务器未知错误导致关闭)
最近做了一个安装包,安装包会弹出dotnet的 窗体,这个安装包会去调用https的一个api.用测试程序测试窗体都是好的.一旦打入安装包后,就报错.研究了半天,原来是https惹的祸 解决方案: . ...