外观
外观
耶温
2887字约10分钟
2024-05-09
background-color: rgba(179, 133, 133, 0.5);
background-color: hsla(120, 60%, 70%, 0.3)
hsla(hue, saturation, lightness, alpha)
:hue
:色相,色彩的基本属性,平常所说的颜色。saturation
:饱和度,色彩的纯度,越高色彩越纯,低则逐渐变灰,取值 0-100%lightness
:亮度,增加亮度,颜色会向白色变化,减少会向黑色变化。取值 0-100%,alpha
:透明度,取值 0-1 之间,代表透明度。text-shadow: h-shadow v-shadow blur color;
h-shadow
:必需。水平阴影的位置,允许负值v-shadow
:必需。垂直阴影的位置,允许负值blur
:可选,模糊的距离color
:可选,阴影的颜色box-shadow: h-shadow v-shadow blur color;
border-radius:左上 右上 右下 左下;
盒子模型包括:外边框 margin,边框 border,内边框 padding,和内容 content
background-size
:指定背景图片的大小background-size: length|percentage|cover|contain;
length
:设置图片宽高,第一个值宽度第一个值高度。如只有一个值,第二个值设置为 autopercentage
:百分比设置宽高。cover
:保持图像纵横比将图像缩放成完全覆盖背景定位区域的最小大小contain
:保持图像纵横比将图像缩放成完全覆盖背景定位区域的最大大小background-origin
:规定图片相对于什么位置来定位background-origin: padding-box|border-box|content-box;
padding-box
:背景相对于内边框来定位(默认)boder-box
:背景相对于边框盒来定位content-box
:背景相对于内容框来定位background-clip
:规定背景的绘制区域background-clip: border-box|padding-box|content-box;
padding-box
:背景被剪切到边框盒boder-box
:背景被剪切到内边框盒content-box
:背景被剪切到内容框线性渐变
background-image: linear-gradient(direction, color-stop1, color-stop2, ...);
direction
:方向角度 单位 degcolor-stop1,color-stop2,...
:渐变颜色,可以有多个颜色节点重复线性渐变:
background-image: repeating-linear-gradient(red, yellow 10%, green 20%);
径向渐变
background-image: radial-gradient(shape size at position, start-color, ..., last-color);
shape
:形状,可以是circle
或 ellipse
size
:渐变大小:参数有closest-side
,farthest-side
,closest-corner
,farthset-corner
例如:
background-image: radial-gradient(circle, red, yellow, green);
background-image: radial-gradient(circle at 100% 100%, red, yellow, green);
background-image: radial-gradient(closest-side at 60% 55%, red, yellow, black);
重复径向渐变
background-image: repeating-radial-gradient(red, yellow 10%, green 15%);
transition
:过渡允许在规定时间内平滑的改变属性值 transition
写多个过渡。transition
:过渡简写,一个属性中设置四个过渡属性transition-property
:规定应用过渡的的 CSS 属性名称transition-duration
:定义过渡效果花费的时间、transition-timing-function
:规定过渡效果的时间曲线。 linear
,ease
,ease-in
,ease-out
,ease-in-out
,cubic-bezoer(n,n,n,n)
transition-delay
:规定过渡效果何时开始,以秒或者毫秒计animation
:animation: name duration timing-function delay iteration-count direction fill-mode play-state;
animation-name
:指定要绑定到选择器的关键帧的名字animation-duration
:动画指定需要多少秒或多少毫秒完成animation-timing-function
:设置动画如何完成一个周期animation-delay
:设置动画在启动前的延迟间隔animation-iteration-count
:定义动画播放的词素animation-direction
:是否应该轮流反向播放动画animation-fill-mode
:当动画不播放时,要应用到元素的样式animation-play-state
:指定动画是否再整运行或已暂停@keyframes
:创建动画,指定一个 CSS 样式和动画将逐步从目前的样式更改为新的样式@keyframes myfirst {
from {
background: red;
}
to {
background: yellow;
}
}
@-webkit-keyframes myfirst /* Safari 与 Chrome */ {
from {
background: red;
}
to {
background: yellow;
}
}
使用:
animation: myfirst 5s;
-webkit-animation: myfirst 5s; /* Safari 与 Chrome */
@media mediatype and|not|only (media feature) {
CSS-Code;
}
mediatype
:媒体类型 print
:打印机和打印预览screen
:用于电脑屏幕,平板电脑,智能手机speech
:应用于屏幕阅读器等发声设备//如果文档宽度小于 300 像素则修改背景颜色(background-color):
@media screen and (max-width: 300px) {
body {
background-color: lightblue;
}
}
语法:border-image: source slice width outset repeat|initial|inherit;
transform
: 2D 转换:
translate(X,Y)
:从当前位置移动元素到指定位置rotate(deg)
:根据给定角度旋转元素scale(X,Y)
:增加或减少元素默认值 1scaleX(X)
:增加或减少元素宽度scaleY(Y)
:增加或减少元素高度skewX(X)
:使元素沿 X 轴倾斜给定角度skewY(Y)
:使元素沿 Y 轴倾斜给定角度skew(X,Y)
:使元素沿 X,Y 轴倾斜给定角度matrix()
:把所有 2D 变换合成为一个 matrix(scaleX(),skewY(),skewX(),scaleY(),translateX(),translateY())
3D 转换:
rotate3d(x,y,z,angle)
rotateX(deg)
:使元素绕其 X 轴旋转rotateY(deg)
:使元素绕其 Y 轴旋转rotateZ(deg)
:使元素绕其 Z 轴旋转translate3d(x,y,z)
translateX(x)
:移动用于 X 轴translateY(y)
:移动用于 Y 轴translateZ(z)
:移动用于 Z 轴scale3d(x,y,z)
:3D 缩放scaleX(x)
scaleY(y)
scaleZ(z)
transform 其他相关样式
transform-style
:指定嵌套元素是怎样在三维空间中呈现。 transform-origin
:设置元素转换中心点 特殊的一种字体,通过这种字体显示给用户的就像一个个图片一样 优点:不会变形,加载速度快。可以使用 CSS 来控制它的大小和颜色。 以 iconfont 为例:
unicode 是字体再网页端最原始的应用方式
font-face
@font-face {
font-family: "iconfont";
src: url("iconfont.eot");
src: url("iconfont.eot?#iefix") format("embedded-opentype"), url("iconfont.woff")
format("woff"), url("iconfont.ttf") format("truetype"), url("iconfont.svg#iconfont")
format("svg");
}
//支持网络地址
@font-face {
font-family: "iconfont";
src: url("//at.alicdn.com/t/font.eot");
src: url("//at.alicdn.com/t/font.eot?#iefix") format("embedded-opentype"), url("//at.alicdn.com/t/font.woff2")
format("woff2"), url("//at.alicdn.com/t/font.woff") format("woff"), url("//at.alicdn.com/t/font.ttf")
format("truetype"),
url("//at.alicdn.com/t/font.svg#iconfont") format("svg");
}
.iconfont {
font-family: "iconfont" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-webkit-text-stroke-width: 0.2px;
-moz-osx-font-smoothing: grayscale;
}
<i class="iconfont">3</i>
font-class 是 unicode 使用方式的一种变种,主要是解决 unicode 书写不直观,语意不明确的问题。
//at.alicdn.com/t/font_8d5l8fzk5b87iudi.css
<i class="iconfont icon-xxx"></i>
全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。
//at.alicdn.com/t/font_8d5l8fzk5b87iudi.js
<style type="text/css">
.icon {
width: 1em;
height: 1em;
vertical-align: -0.15em;
fill: currentColor;
overflow: hidden;
}
</style>
<svg class="icon" aria-hidden="true">
<use xlink:href="#icon-xxx"></use>
</svg>
flex
:CSS3 的一种全新布局
提供一种更有效的方式来对一个容器中的子元素进行排列,对其和分配空白空间
flex-direction
:指定子元素在父容器中的位置(用来调整主轴的方向) row
:横向从左到右排列(默认)row-reverse
:翻转横向排列,从后往前排column
:纵向排列column-reverse
:反转纵向排列,从后往前排justif-content
:内容对其,元素在弹性容器上的对其方式(主轴) flex-start
:默认值,所有元素在开始位置紧挨着填充flex-end
:所有元素在尾部紧挨着填充center
:容器内元素居中紧挨着布局space-between
:平均分布在改行上,两边紧挨着容器space-around
:平均分布在改行上,两边留有一半的间隔空间align-items
:设置元素在侧轴方向的对其方式 flex-start
:默认值,侧轴的开始位置对其flex-end
:侧轴的结束位置对其center
:中间位置对其baseline
:基线对其,不会拉伸高度stretch
:拉伸对其,子元素不用设置高度flex-wrap
:指定弹性盒子的子元素换行方式 nowrap
:默认,不换行。会溢出容器wrap
:换行wrap-reverse
:反转 wrap 排列align-content
:子元素在侧轴的对其方式(多行模式) stretch
- 默认。各行将会伸展以占用剩余的空间。flex-start
- 各行向弹性盒容器的起始位置堆叠。flex-end
- 各行向弹性盒容器的结束位置堆叠。center
-各行向弹性盒容器的中间位置堆叠。space-between
-各行在弹性盒容器中平均分布。space-around
- 各行在弹性盒容器中平均分布,两端保留子元素与子元素之间间距大小的一半。align-self
:自身在侧轴方向的对齐方式 auto
:如果'align-self'的值为'auto',则其计算值为元素的父元素的'align-items'值,如果其没有父元素,则计算值为'stretch'。flex-start
:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴起始边界。flex-end
:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴结束边界。center
:弹性盒子元素在该行的侧轴(纵轴)上居中放置。(如果该行的尺寸小于弹性盒子元素的尺寸,则会向两个方向溢出相同的长度)。baseline
:如弹性盒子元素的行内轴与侧轴为同一条,则该值与flex-start
等效。其它情况下,该值将参与基线对齐。stretch
:如果指定侧轴大小的属性值为auto
,则其值会使项目的边距盒的尺寸尽可能接近所在行的尺寸,但同时会遵照min/max-width/height
属性的限制。order
:用整数来定义排列书序,数值小的排在前面margin
:设置为auto
时可以在两轴上水平居中flex
:指定弹性子元素如何分配空间