CSS合集
来源:互联网 发布:js获取当前城市 编辑:程序博客网 时间:2024/05/17 14:29
position属性
三种定位机制:普通流,浮动和绝对定位。
position属性分别为static|relative|absolute|fixed|sticky|inherit
static为元素默认属性,没有定位(忽略z-index,left,bottom,right,top声明)
relative是相对于自身原本的位置进行偏移,可设置left,bottom等属性进行定位;
absolute是相对于static以外的父元素的第一个祖先元素进行定位,可以设置 left,right,bottom,top来定位。
fixed是绝对定位,相对于浏览器窗口进行定位,可通过left,bottom,right,top进行定位
sticky:在屏幕范围内该元素位置并不受到定位影响,当位置要超过屏幕范围内时,定位变成fixed,设置left和top变为固定位置的效果,目前只有Firefox和safari.浮动定位
浮动定位作为定位机制的一种,可以通过float属性设置左右浮动,浮动元素不在文档的普通流中,所以计算父元素的高度时不考虑在内.
与position的兼容效果:
元素同时利用position:relative,float,(top/left/bottom)等属性,则元素先浮动到相应的位置,后根据left的距离来发生偏移。
若同时利用position:absolute及float属性,则float失效;清除浮动方式
1.添加新的元素 clear:both;
2.建立BFC,overflow为auto或者是hidden.浮动元素会计算在内。
3.:after伪元素,设置clear:both,zoom:1兼容IE;
4.父级设定高度;BFC
BFC:块级执行上下文,会创建一个块级上下文,容器的子元素不会影响外面元素,主要包括:容器高度会包括浮动元素在内;内部Box会在垂直方向,一个接一个放置;且垂直方向的距离由margin决定;BFC区域不会与浮动box重叠;
产生BFC的情况:
position为absolute或者是fixed;overflow不为visible;float不为none;display:flex|table-cell|inline-block.盒子模型
主要分为两种盒子,标准盒子和怪异盒子(IE)
标准盒子:范围包括margin+padding+border+width;
怪异盒子:范围包括margin+width。width包括border+padding.
可以通过box-sizing属性设置选择哪种盒子来渲染元素;属性为content-box|border-box;CSS3动画
主要的属性有@keyframes和animation来设置动画。Transform和transition属性。CSS3属性需要注意浏览器兼容问题:(-webkit|-o-|-ms-|-moz-)
@keyframes主要是用来指定规则创建动画,可以用from-to或者是0%-100%来设置动画的开始和完成,animation属性是简写属性,可设置animation-name|animation-duration|animation-timing-function|animation-delay|animation-iteration-count|animation-direction.
animation-name—动画名称
animation-duration 规定完成动画所花费的时间,以秒或毫秒计。
animation-timing-function规定动画的曲线 可设置为linear,ease,ease-in,ease-out,ease-in-out,cubic-bezier(n,n,n,n)在 cubic-bezier 函数中自己的值。可能的值是从 0 到 1 的数值。
animation-delay—开始之前的延迟时间
animation-iteration-count: n|infinite;播放次数,几次或者无限次;
animation-direction: normal|alternate;正常播放或者轮流反向播放;
transform:rotate|scale|skew|translate|matrix;
rotate:可以设置角度deg来进行旋转;
translate:可设置垂直方向和水平方向的偏移。
scale:设置水平和垂直方向的缩放;
skew:skew(x,y)使元素在水平和垂直方向同时扭曲
transform-origin:可改变中心焦点
transition:css的transition允许css的属性值在一定的时间区间内平滑地过渡。这种效果可以在鼠标单击、获得焦点、被点击或对元素任何改变中触发,并圆滑地以动画效果改变CSS的属性值.两种属性:transition-duration|transition-timing-function:ease|ease-in|ease-out|ease-in-out.CSS选择器
div>p 选择父元素为div的所有p元素div+p 选择紧接着div元素之后的p元素[attribute] [target] 选择带有 target 属性所有元素。 [attribute=value] [target=_blank] 选择 target="_blank" 的所有元素。 [attribute~=value] [title~=flower] 选择 title 属性包含单词 "flower" 的所有元素。 [attribute|=value] [lang|=en] 选择 lang 属性值以 "en" 开头的所有元素。p:first-of-type 选择属于其父元素的首个p元素的每个<p>元素p : last-of-type 选择属于其父元素的最后 <p> 元素的每个 <p> 元素。p:only-of-type 选择属于其父元素唯一的 <p> 元素的每个 <p> 元素。 p:only-child 选择属于其父元素的唯一子元素的每个 <p> 元素。p:nth-child(2) 选择属于其父元素的第二个子元素的每个 <p> 元素。p:last-child 选择属于其父元素最后一个子元素每个 <p> 元素。
em和rem的区别?
em和rem都是浏览器将相对单位转换为像素值。em 和 rem 单位之间的区别是浏览器根据谁来转化成px值 理解这种差异是决定何时使用哪个单元的关键。当使用rem单位,他们转化为像素单位大小取决于页根元素的字体大小,即HTML元素的字体元素。而em是相对于使用em单位的元素的字体大小。之所以父级元素的字体大小可以影响em,是因为继承的原因。
flex布局
flex布局可以自动调整元素在容器空间的大小。主要是分为主轴和侧轴。主要是分为主容器和项目。主要有 flex-direction|align-items|justify-content||flex-wrap||flex-flow.
flex-direction 决定项目沿着主轴的排列方向(row|row-reverse|column|column-reverse)
align-items: 决定项目相对于侧轴的排列方式 stretch||center||baseline||flex-end|flex-end
justify-content:决定项目相对于主轴的排列方式 flex-start|flex-end|center|space-around|space-between
flex-wrap:项目的换行方式 nowrap||wrap|wrap-reverse
align-content属性用于多行的Flex容器
项目属性:order||flex-grow||flex-shrink||flex-basis||align-self三栏布局
主要方法:
1.float属性,流式布局
2.BFC三栏布局 float+overflow:hidden
3.双飞翼布局,(main内容可以优先加载)主要是通过margin负边距
4.圣杯布局
5.flex布局
6.table布局
7.绝对定位布局
两栏布局和三栏布局差不多。元素居中方法
见博客http://blog.csdn.net/rheawang/article/details/74552199块级元素,行内元素,行内块级元素
行内元素:a、b、span、img、input、strong、select、label、em、button、textarea
块级元素:div、ul、li、dl、dt、dd、p、h1-h6、blockquote
空元素:br、meta、hr、link、input、img
区别:
行内元素:和其他元素都在一行上;行内元素设置width无效,height无效(可以设置line-height),margin上下无效,padding上下无效
块级元素:独占一行,其宽度自动填满其父元素宽度;3.宽度始终是与浏览器宽度一样,与内容无关
;它可以容纳内联元素和其他块元素;display属性为block;块级元素的垂直相邻外边距margin会合并。
inline-block: 将对象呈递为内联对象,但是对象的内容作为块对象呈递。旁边的内联对象会被呈递在同一行内,允许空格。(准确地说,应用此特性的元素呈现为内联对象,周围元素保持在同一行,但可以设置宽度和高度地块元素的属性)可继承属性和不可继承属性
可继承属性:字体系列属性,文本系列属性,文本可见性visibility,表格布局属性,列表布局属性,页面样式属性;
不可继承属性:盒子系列属性(width,margin,padding,border),文本属性,display,背景属性,定位属性,轮廓样式属性。
所有元素可继承:visibility和cursor。
内联元素可继承:letter-spacing、word-spacing、white-space、line-height、color、font、 font-f amily、font-size、font-style、font-variant、font-weight、text- decoration、text-transform、 direction。
块状元素可继承:text-indent和text-align。
列表元素可继承:list-style、list-style-type、list-style-position、list-style-image。
表格元素可继承:border-collapse。link和@import的区别?
link引用CSS时,在页面载入时同时加载;@import需要页面网页完全载入以后加载。
其次是兼容性上的问题,@import CSS2时才引入。
link 是一个html 的一个标签 ,而@import 是css 的一个标签
另外相对于href与src的区别,href是引用,src主要为引入资源。渐进增强和优雅降级
渐进增强是针对低版本的浏览器进行构建页面,完成基本功能后,再针对高级浏览器进行效果和交互功能以达到更好的体验。
优雅降级是一开始就构建完整的站点功能,然后针对低版本的浏览器进行测试和修复。例如CSS hack.
- css属性合集
- CSS hack合集
- css hack合集
- CSS合集
- CSS超级技巧 合集
- css初始化代码合集
- 前端问题——CSS合集
- CSS属性合写
- css 基础小集合
- 最使用CSS+DIV学习合集 从零开始
- flexbox结合bootstrap表单(css合集)
- css分组合嵌套选择器
- CSS(图表合集大图片)选择合适位置的图标
- 前端面试经典题目合集(HTML+CSS)(一)
- 前端面试经典题目合集(HTML+CSS)(二)
- 前端面试经典题目合集(HTML+CSS)(三)
- 前端面试经典题目合集(HTML+CSS)(四)
- css中 :before ,:after 用法合集01(时间线)
- [Tensorflow]基于slim框架下inception模型的植物识别
- c++中非静态函数不能用类名调用,为什么CWnd的成员函数GetDC()可以直接调用啊?
- 反射获取属性值
- 版权声明:本文为博主原创文章,未经博主允许不得转载。 今天重写一个delphi7的CS架构的软件,原本自带的控件是Indy9。现在升级到Indy10,用delphi XE5开发。发现idTcpSer
- 职责链模式
- CSS合集
- 记录自己的学习历程---关于JSP的几个面试点(新手学习笔记,并不能保证内容正确性,如有误请指教)
- 基础错题集
- QByteArray储存二进制数据(包括结构体,自定义QT对象)
- 转载_CI 系统搭建:Git、Gerrit与Jenkins
- 互联网时代,我眼中的架构变迁
- http webservice socket的区别(转)
- ndy 10终于随着Delphi2005发布了,不过indy套件在我的印象中总是复杂并且BUG不断,说实话,不是看在他一整套组件的面子上,我还是喜欢VCL原生的Socket组件,简洁,清晰。Indy9
- 高级装配