CSS基础强化
1. 浮动引起元素变成行内块元素-display:inline-block
<div style="width: 400px;height: 200px;">
<span style="float:left;width: auto;height: 100%;">
<i style="position: absolute;float: left; width: 100px;height: 50px;">
hello
</i>
</span>
</div>
效果:
div正常宽高
span{width:0;height:200px}
i{width:100px;height:50px}所有元素经过浮动变为行内块元素 -- span不是块级元素,不支持宽高,浮动后支持宽高,height:100% 即是200px。i中绝对定位,脱离文档流,不占父级空间,所以span的width:0;
上面解析:W3C中,float会使元素产生块级框,可以理解为inline-block;但是inline-block元素之间会默认产生空白符,而flaot之间没有。虽然float脱离了文档流,但是div仍然是span的父元素,因此height:100%;也就是继承了父元素div的高度200px。i设置了postion,脱离了文档流,并不影响父元素,所以span的width:0px;
2. 显示不全的文字 ... 表示
.ellipsis {
white-space: nowrap;
text-overflow:ellipsis;
overflow:hidden;
}
3. 关于水平对齐及垂直对齐的总结
水平居中:
- 父元素是块元素,子元素是行内元素。
对父元素使用text-again:center 来设定行内元素水平居中。
- 父元素是块元素,子元素是块元素且宽度已经设定。
解法1:给子元素添加margin:0 auto;
解法2:当父元素和子元素宽度都已知的情况下,给父元素设定padding-left或padding-rigt,或者给子元素设定margin-left或margin-right,长度为(父元素宽度-子元素宽度)/2,给父元素和子元素设定为box-sizing:border-box;可方便计算,否则得加上父元素和子元素的边框宽度。
解法3:子元素相对父元素的决定定位来解决 (子元素 left:50%,margin-left 为负 自身的一半)
解法4:利用给父元素设置flex
.father {
display: flex;
flex-direction: row;
justify-content: center;
}
垂直居中 : 设定父元素是块级元素 且高度是已经确定的
- 子元素是行内元素
给父元素或者子元素 设定line-height且其高度等于父元素的高度 - 子元素是块级元素且高度已经设定
利用父元素的padding 或者 子元素的margin - 子元素是块级元素且高度已经设定
.father {
display: flex;
flex-direction: column;
justify-content: center;
}
4. 关于css3过渡和转换的总结
- 设置要过渡的属性
transition:width 2s, height 2s, background-color 2s, transform 2s;
- 转换 就是 transform
transform:translateX(20px);
还有很多的 属性 如 translateY() translateZ() translate(a,b,c) csale(x,y) scaleX() scaleY() scaleZ() rotate() 等等....
更多点击查看
5. 关于动画的定义和使用
// 定义动画
@keyframes myfirst {
from {
background: red;
}
to {
background: yellow;
}
}
// 或者 from to 可以换成 0% 10% 100% 实现更加精细的控制
// 使用 语法 animation: name duration timing-function delay iteration-count direction;
div {
animation:mymove 5s infinite; // 动画序列名字 持续时间 循环次数
}
CSS基础强化的更多相关文章
- 前端开发:css基础知识之盒模型以及浮动布局。
前端开发:css基础知识之盒模型以及浮动布局 前言 楼主的蛮多朋友最近都在学习html5,他们都会问到同一个问题 浮动是什么东西? 为什么这个浮动没有效果? 这个问题楼主已经回答了n遍.今天则是把 ...
- C#基础强化-进程操作
using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using S ...
- CSS基础总结
CSS基础总结链接地址:http://segmentfault.com/a/1190000002773955
- CSS基础篇之了解CSS和它的基本属性
CSS是什么? CSS英文全名是Cascading Style Sheets翻译过来就是层叠样式表,它主是把网页表现与内容分离的一种样式设计语言.这种语言能优化我们编程,把东西简化和优化写法,而且不同 ...
- HTML5 -入门 (---css样式-------------(css基础与css选择器)---------------------—)
---恢复内容开始--- 一css基础入门与css选择器 CSS英文全拼:cascading style sheet 层叠样式表. 在html中使用:要在head中写style标签,所有样式放在sty ...
- css 基础---选择器
1.css基础 selector {property: value} eg: h1 {color:red; font-size:14px;} p { text-align: center; color ...
- 妙味课堂——HTML+CSS基础笔记
妙味课堂的课程讲得非常的清楚,受益匪浅.先把HTML和CSS基础课程部分视频的学习笔记记录如下: padding #PS基础 ##前端需要的PS技能 - PS技能(前端需要):切图.修图.测量 - P ...
- WEB前端开发CSS基础样式全面总结
Web前端开发css基础样式全面总结 颜色和单位的使用 颜色 用颜色的名字表示颜色,比如:red 用16进制表示演示 比如:#FF0000 用rgb数值表示颜色,rgb(红,绿,蓝),每个值都在0-2 ...
- css基础不扎实
写了两周的网页,发现自己的css基础还是很差的,当时培训学习的时候就发现了,我做的页面都特别的别扭和丑吧,在班级上应该是垫底的: 原先只知道用float,不会使用定位,网页连固定定位也不会,现在发现, ...
随机推荐
- 微信开发SDK支持小程序 ,Jeewx-Api 1.3.1 版本发布
JEEWX-API 是一款JAVA版的微信开发SDK,支持微信公众号.小程序.微信企业号.支付宝生活号SDK和微博SDK.你可以基于她 快速的傻瓜化的进行微信开发.支付窗开发和微博开发. 基于jeew ...
- H-ui 前端框架
H-ui 前端框架 架起设计与后端的桥梁轻量级前端框架,简单免费,兼容性好,服务中国网站. 首个付费版产品 H-ui.admin.Pro,盘他!
- 01_Spring入门程序
一.什么是Spring? 1.Spring是分层的JavaSE/EE full-stack(一站式) 轻量级开源框架 2.spring是一个高度灵活的轻量级框架,其目的是降低企业级应用开发的复杂度. ...
- 关于排序--sort()和qsort()使用
一.sort()函数的使用 使用sort()函数的时候要加上头文件#include<algorithm>和using namespace std. 这个函数接收两个或者三个参数. 第一个参 ...
- 推荐5款超实用的.NET性能分析工具
虽然.NET框架号称永远不会发生内存泄漏,原因是引入了内存回收机制.但在实际应用中,往往我们分配了对象但没有释放指向该对象的引用,导致对象永远无法释放.最常见的情况就是给对象添加了事件处理函数,但当不 ...
- vue 学习 二
动画 <transition name="fade"> <p v-if="show">hello</p> </tran ...
- 阿里云 Aliplayer高级功能介绍(六):进度条标记
基本介绍 Aliplayer在进度条上提示时间和缩略图功能外,还可以进行视频内容的提示打点,当然不止是进度条上显示打点的内容,还提供一组接口,方便用户进行打点时间和内容的获取, 基本UI如下图所示: ...
- 关于CSS3 animation 属性在ie edge浏览器中不能工作
我想要给div边框加一个闪烁,所以我将css中设置如下 给想要闪烁的div加上blink类 这样在firefox,chrome下是正常显示的,但是在ie下box-shadow属性不能被正常的展现 后 ...
- 在 Angularjs 中$state.go 如何传递参数
在目标页面规定接受的参数: .state('app.AttendanceEditFixed', { url: '/AttendanceEditFixed', params: {'id': null,' ...
- Delphi 设计模式:《HeadFirst设计模式》Delphi7代码---模板方法模式之CoffeineBeverageWithHook[转]
模板方法模式定义了一个算法骨架,允许子类对算法的某个或某些步骤进行重写(override). 1 2{<HeadFirst设计模式>之模板方法模式 } 3{ 编译工具: Del ...