scaleX的妙用

案例1

效果:

HTML:

<a href="javascript:;">我有下划线噢</a>

CSS:

a{
text-decoration:none;
position:relative;
padding-bottom:5px;
}
a::after{
content:'';
position:absolute;
left:0;
bottom:0;
width:100%;
height:2px;
background-color:red;
transform:scaleX(0);
transition:all .5s;
}
a:hover::after{
transform:scaleX(1);
}

案例2

效果:

HTML:

<a href="#a" id="a">我有下划线噢</a>
<a href="#b" id="b">我有下划线噢</a>
<a href="#c" id="c">我有下划线噢</a>

CSS:

a{
text-decoration:none;
position:relative;
padding:10px;
border:1px solid #ccc;
}
a::after{
content:'';
position:absolute;
left:10px;
bottom:3px;
width:calc(100% - 20px);
height:1px;
background-color:red;
transform:scaleX(0);
transition:all .5s;
}
a:target::after{
transform:scaleX(1);
}
scaleY的妙用

案例1、配合animation制作loading

效果:

HTML:

<div id="box">
<i></i>
<i></i>
<i></i>
<i></i>
</div>

CSS:

#box{
position:relative;
}
#box>i{
position:absolute;
top:0;
width:4px;
height:35px;
background-color:#0bac84;
border-radius:5px;
}
#box>i:nth-of-type(1){
left:0px;
animation:loading 1s ease-in .1s infinite;
}
#box>i:nth-of-type(2){
left:8px;
animation:loading 1s ease-in .3s infinite;
}
#box>i:nth-of-type(3){
left:16px;
animation:loading 1s ease-in .6s infinite;
}
#box>i:nth-of-type(4){
left:24px;
animation:loading 1s ease-in .3s infinite;
}
@keyframes loading{
0%{
transform:scaleY(1);
}
50%{
transform:scaleY(0.5);
}
100%{
transform:scaleY(1);
}
}
translate的妙用

案例1、在不知道高度的情况下实现垂直居中

效果:

HTML:

<div id="box">
translate
</div>

CSS:

#box{
position:absolute;
left:50%;
top:50%;
width:100px;
height:100px;
/*margin-left:-50px;
margin-top:-50px;*/
transform:translate(-50%,-50%);
background-color:red;
}

我认为translate是根据元素的宽度和高度来计算的。也就是说如果写100%的话,实际上就是100px而我写了-50%就是它的一半所以和margin-left:-50px;效果是一样的。

CSS3妙用的更多相关文章

  1. css3 妙味

    css3 属性 <!DOCTYPE html> <html> <head lang="en"> <meta charset="U ...

  2. css3妙用 刷新图标

    从猫眼电影看到的一个图标 .geopos i:before { content: ""; width: .8em; height: .8em; border: .14em soli ...

  3. 【学+原】CSS3的2D动画 ——仿NOMOS手表

    看CSS3妙味课堂中有一课是介绍如何做钟表界面,然后三根针都能随着时间转动,然后自己在那个简易的版本上做了一些进一部改进. 最关键的知识点应该是transform-origin这个样式,要选对旋转的中 ...

  4. 《众妙之门——精通CSS3》一书知识点剖析

    不得不佩服京东的速度,昨天刚下单的两本书今天上午就到了.其中一本是全彩页的<众妙之门 - 精通CSS3>,细看了前几十页,书上的叙述方式给我的印象其实不如“彩页”来的讨喜——接连说上几个例 ...

  5. 妙味css3课程---1-2、css3中新增的伪类和伪元素有哪些

    妙味css3课程---1-2.css3中新增的伪类和伪元素有哪些 一.总结 一句话总结: 1.div:target{}是什么意思? 比如a标签的锚点链接到div,div:target{}就可以找到这个 ...

  6. 妙味css3课程---1-1、css中自定义属性可以用属性选择器么

    妙味css3课程---1-1.css中自定义属性可以用属性选择器么 一.总结 一句话总结:可以的. 1.如何实现用属性选择器实现a标签根据href里面含有的字段选择背景图片? p a[href*=te ...

  7. css3 animation 属性众妙

    转自:凹凸实验室(https://aotu.io/notes/2016/11/28/css3-animation-properties/) 本文不会详细介绍每个 css3 animation 属性(需 ...

  8. CSS3 Media Queries 特性的妙用

    第一招: 在网页中,pixel与point比值称为 device-pixel-ratio,普通设备都是1,iPhone 4是2,有些Android机型是1.5. 那么-webkit-min-devic ...

  9. CSS3 border属性的妙用

    .ribbon { background: #45c9c8; position: absolute; width: 75px; height: 25px; line-height: 25px; top ...

随机推荐

  1. ARP包分析(wireshark)

    ARP数据报格式(42字节) 这是用wireshark抓到的一个ARP包,42个字节. 这个ARP包的 以太网首部(14字节): 字段               长度(Byte)           ...

  2. linux下的5个查找命令

    在Linux中,有很多方法可以做到这一点.国外网站LinuxHaxor总结了五条命令,你可以看看自己知道几条.大多数程序员,可能经常使用其中的2到3条,对这5条命令都很熟悉的人应该是不多的. 1. f ...

  3. bdb log file 预设长度的性能优化

    看代码随手记:log_put.c, __log_write() /* * If we're writing the first block in a log file on a filesystem ...

  4. 关于PDV的那些事

    数据集中的数据来源分为两种: 一.来自于另一个数据集: 二.来自于外部数据源(本文细说此来源): 无论是哪种来源,在它们成为目标数据集中的观测行(官方叫它observation)之前都要进入PDV,先 ...

  5. wince中测试驱动应用程序的实现

    这里建的工程是MFC的smart device,选择ARMV4I的指令集,不同的设备可能会有轻微的不同,不过大体实现是一样滴.还有,这里选的应用类型是dialog base. 1.应用监测内核动向 内 ...

  6. Linq To Xml基础

    <?xml version="1.0" encoding="utf-8" ?> <Books> <Category Order=& ...

  7. 初识selenium--百度实例录制

    Selenium 是一个web的自动化测试工具,不少学习功能自动化的朋友首选的就是Selenium,它相比QTP有许多优点(QTP笔者由于种种原因暂未使用过O(∩_∩)O哈!): ①Selenium是 ...

  8. Highcharts 饼图 文字颜色设置

    设置饼图对应的提示文字的颜色与饼图块状一样,demo如下: $(function () { $('#container').highcharts({ chart: { plotBackgroundCo ...

  9. bootstrap-sidebar,后台边栏折叠功能

    http://www.solutiisoft.com/bootstrap-sidebar/index.php

  10. idlcpp 功能改进

    最近没有续写 idlcpp 的教程, 因为忙着对它进行大幅度的修改. 一开始本是计划用idlcpp对付新写的代码,让这些新写的代码能够很容易提供给脚本使用.后来又希望能将大量现存的代码移植过来,毕竟有 ...