一.用几种方式实现水平垂直居中

1.居中元素定宽高(其中像素都代表居中元素高度的一半)

absolute + 负margin

.parent{

position: relative;

}

.children{

position: absolute;

top:50%;

left:50%;

margin-left: -50px;

margin-top: -50px;

}

absolute + margin auto

.children{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;

}

absolute + calc

.children{position:absolute;top:calc(50% - 50px);left:calc(50% - 50px);

}

2.居中元素不定宽高

absolute + transfrom

.children{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);

}

line-height(把children设为行内元素,通过text-align就可以做到水平居中,使用vertical-align也可以在垂直方向做到居中。)

.parent{line-height:400px;text-align:center;font-size:0px;

}.children{font-size:16px;display:inline-block;vert-align:middle;line-height:initial;text-align:left;

}

writing-mode(writing-mode可以改变文字的显示方向,比如可以改变writing-mode让文字的显示变为垂直方向。)

.parent{writing-mode:vertical-lr;text-align:center;

}.parent-inner{writing-mode:horizontal-tb;display:inline-block;text-align:center;width:100%;

}.children{display:inline-block;margin:auto;text-align:left;

}

css-table

.parent{display:table-cell;text-align:center;vertical-align:middle;

}.children{display:inline-block;

}

flex

.parent{display:flex;justify-content:center;align-items:center;

}

grid(css新出的网格布局)

.parent{display:grid;

}.children{align-self:center;justify-self:center;

}

二、css3新增属性

1.CSS3边框:

border-radius:CSS3圆角边框。在 CSS2 中添加圆角矩形需要技巧,我们必须为每个圆角使用不同的图片,在 CSS3 中,创建圆角是非常容易的,在 CSS3 中,border-radius 属性用于创建圆角。border:2px solid;

box-shadow:CSS3边框阴影。在 CSS3 中,box-shadow 用于向方框添加阴影。box-shadow:10px 10px 5px #888888;

border-image:CSS3边框图片。通过 CSS3 的 border-image 属性,您可以使用图片来创建边框。border-image:url(border.png) 30 30 round;

2.CSS3背景:

background-size: 属性规定背景图片的尺寸。在 CSS3 之前,背景图片的尺寸是由图片的实际尺寸决定的。在 CSS3 中,可以规定背景图片的尺寸,这就允许我们在不同的环境中重复使用背景图片。您能够以像素或百分比规定尺寸。如果以百分比规定尺寸,那么尺寸相对于父元素的宽度和高度。

background-origin :属性规定背景图片的定位区域。背景图片可以放置于 content-box、padding-box 或 border-box 区域。

3.CSS3文字效果:

text-shadow:在 CSS3 中,text-shadow 可向文本应用阴影。text-shadow:5px 5px 5px #FFFFFF;

word-wrap :单词太长的话就可能无法超出某个区域,允许对长单词进行拆分,并换行到下一行:p{word-wrap:break-word;}

4.CSS3 2D转换:

transform:通过 CSS3 转换,我们能够对元素进行移动、缩放、转动、拉长或拉伸。

translate():元素从其当前位置移动,根据给定的 left(x 坐标) 和 top(y 坐标) 位置参数:transform:translate(50px,100px);值 translate(50px,100px) 把元素从左侧移动 50 像素,从顶端移动 100 像素。

rotate():元素顺时针旋转给定的角度。允许负值,元素将逆时针旋转。transform:rotate(30deg);值 rotate(30deg) 把元素顺时针旋转 30 度。

scale():元素的尺寸会增加或减少,根据给定的宽度(X 轴)和高度(Y 轴)参数:transform:scale(2,4);值 scale(2,4) 把宽度转换为原始尺寸的 2 倍,把高度转换为原始高度的 4 倍。

skew():元素转动给定的角度,根据给定的水平线(X 轴)和垂直线(Y 轴)参数:transform:skew(30deg,20deg);值 skew(30deg,20deg) 围绕 X 轴把元素转动 30 度,围绕 Y 轴转动 20 度。

matrix() :

matrix() 方法把所有 2D 转换方法组合在一起。

matrix() 方法需要六个参数,包含数学函数,允许您:旋转、缩放、移动以及倾斜元素。

5.CSS3 3D转换:

rotateX():元素围绕其 X 轴以给定的度数进行旋转。transform:rotateX(120deg);

rotateY():元素围绕其 Y 轴以给定的度数进行旋转。transform:rotateY(120deg);

6.CSS3 过渡:当元素从一种样式变换为另一种样式时为元素添加效果。

7.CSS3动画:通过 CSS3,我们能够创建动画,这可以在许多网页中取代动画图片、Flash 动画以及 JavaScript。

8.CSS3多列:

column-count:属性规定元素应该被分隔的列数。

column-gap:属性规定列之间的间隔。

column-rule :属性设置列之间的宽度、样式和颜色规则。

9.CSS3用户界面:

resize:属性规定是否可由用户调整元素尺寸。

box-sizing:属性允许您以确切的方式定义适应某个区域的具体内容。

outline-offset :属性对轮廓进行偏移,并在超出边框边缘的位置绘制轮廓。

三、position属性值简介

1.static

这个关键字使得这个元素使用正常的表现,即元素处在文档流中它当前的布局位置,top, right, bottom, left 和 z-index 属性无效。

2.relative

使用这个关键字来布局元素就好像这个元素没有被设置过定位一样。即会适应该元素的位置,并不改变布局(这样会在此元素原本所在的位置留下空白)。 position:relative对table-*-group, table-row, table-column, table-cell, table-caption无效。

3.absolute

不为元素预留空间,元素位置通过指定其与它最近的非static定位的祖先元素的偏移来确定。绝对定位的元素可以设置外边距(margin),并且不会与其他边距合并。

4.fixed

不为元素预留空间。通过指定相对于屏幕视窗的位置来指定元素的空间,并且该元素的位置在屏幕滚动时不会发生改变。打印时元素会出现在的每页的固定位置。fixed属性通常会创建新的栈环境。

5.sticky

position属性中最有意思的就是sticky了,设置了sticky的元素,在屏幕范围(viewport)时该元素的位置并不受到定位影响(设置是top、left等属性无效),当该元素的位置将要移出偏移范围时,定位又会变成fixed,根据设置的left、top等属性成固定位置的效果。

特点:

该元素并不脱离文档流,仍然保留元素原本在文档流中的位置。

当元素在容器中被滚动超过指定的偏移值时,元素在容器内固定在指定位置。亦即如果你设置了top: 50px,那么在sticky元素到达距离相对定位的元素顶部50px的位置时固定,不再向上移动。

元素固定的相对偏移是相对于离它最近的具有滚动框的祖先元素,如果祖先元素都不可以滚动,那么是相对于viewport来计算元素的偏移量

css视频教程面试题,前端基础面试题(CSS类)相关推荐

  1. 前端基础面试题(HTML + CSS)

    前端基础面试题(HTML + CSS) 1.行内元素和块级元素?img算什么?行内元素怎么转化为块级元素? 行内元素:和有他元素都在一行上,高度.行高及外边距和内边距都不可改变,文字图片的宽度不可改变 ...

  2. 前端基础面试题(JS部分)

    1.几种基本数据类型?复杂数据类型?值类型和引用数据类型?堆栈数据结构? 基本数据类型:Undefined.Null.Boolean.Number.String 值类型:数值.布尔值.null.und ...

  3. 2023前端基础面试题

    第一章 面试题基础篇 ​ 1.1 HTML面试题 ​ 面试题:行内元素有哪些?块级元素有哪些? 空(void)元素有哪些? 行内元素:span.img.input... 块级元素:div.footer ...

  4. 前端基础面试题大全-极乐科技(一)-JS部分

    2019独角兽企业重金招聘Python工程师标准>>> #JS部分 ###1.几种基本数据类型?复杂数据类型?值类型和引用数据类型?堆栈数据结构? 基本数据类型:Undefined. ...

  5. h5前端基础面试题(微信小程序)

    微信小程序基础面试题 1.微信小程序的优劣势? 优势: ①容易上手,基础组件库比较全,基本上不需要考虑兼容问题: ②开发文档比较完善,开发社区比较活跃,支持插件式开发: ③良好的用户体验:无需下载,通 ...

  6. 2022常见前端基础面试题

    -CSS/HTML部分- 这部分可能会先问你css和html5都增加了那些新元素,然后扩展着问 0.css布局方式 1.table布局(现在少用) 2.flex布局 3.float布局 4.响应式布局 ...

  7. 前端基础知识总结---CSS篇

    本部分主要是笔者在复习 CSS 相关知识和一些相关面试题时所做的笔记,如果出现错误,希望大家指出! 目录 1.介绍一下标准的 CSS 的盒子模型?低版本 IE 的盒子模型有什么不同的? 2.CSS 选 ...

  8. 前端的c语言面试题,前端工程师面试题及答案

    完成面试题是前端工程师求职者在面试过程中必须经历的环节.下面是由学习啦小编分享的前端工程师面试题,希望对你有用. 前端工程师面试题:CSS 1. CSS样式表根据所在网页的位置,可分为?(B ) A. ...

  9. 计算机基础办公应用考试试题,计算机基础考试试题库和答案.doc

    专业资料 word完美格式 计算机基础考试试题 1.计算机中数据的表示形式是 A)八进制 B)十进制 C)二进制 D)十六进制 2.硬盘工作时应特别注意避免 A)噪声 B)震动 C)潮湿 D)日光 3 ...

最新文章

  1. 大数据教程(13.6)sqoop使用教程
  2. win10 linux子系统
  3. 【数字信号处理】傅里叶变换性质 ( 序列傅里叶变换共轭对称性质 | 实序列的幅频特性偶对称 | 实序列相频特性奇对称 | 示例说明 )
  4. android文件系统\busybox文件系统的启动介绍
  5. [1] JSP里的一个最简单的过滤器(filter)的例子
  6. EasyOcr 安装(linux、docker)、使用(gin、python)
  7. iPhone X 刘海打理指北
  8. 深入浅出计算机组成原理04:存储和IO系统
  9. HTTP请求解析过程 (简单概括)
  10. 《最后的狮子》纪录片观后
  11. 深度解析javascipt2
  12. 揭密如何写ASP木马后门
  13. 明解c语言实践篇翻译_《明解c语言》已看完,练习代码此奉上
  14. 传感器 动态误差计算
  15. 555定时器与频率测量
  16. 消息推送之百度云推送Android集成与用法
  17. vue element-ui列表中el-switch 开关,使用0和1
  18. 丨EGFR FISH 探针解决方案
  19. 二维码超分效果评价指标
  20. 【小程序】小程序起步、WXML模板语法和WXSS模板样式

热门文章

  1. 荣耀 MagicBook 系列新品发布会汇总:多款锐龙本、平板电脑登场~~~
  2. vue项目创建之后 ESLint导致第一行毛毛虫
  3. 3dsmax uvw展开
  4. 【UE】倒计时归零时结束游戏
  5. 高斯—赛德尔求解线性方程+C代码
  6. 剖析KCP以及KCP在游戏中是如何使用的
  7. 敏捷估算为何使用斐波那契数列(Fibonacci)(
  8. 学生选课系统E-R图以及登录,选课流程图
  9. MySQL之父开发的 MariaDB 数据库,扩展了新功能……
  10. vue使用高德地图并且绘制多边形