用于记录css遇到的问题
button
1 | type |
注:默认为submit可以出发输入框回车事件。
text-overflow
runoob
语法
1 | 属性确定如何向用户发出未显示的溢出内容信号。它可以被剪切,显示一个省略号('...',U + 2026 HORIZONTAL ELLIPSIS)或显示一个自定义字符串。 |
省略号1
2
3
4
5
6
7
8
9
10
11
12
13
14
15{
-webkit-text-overflow: ellipsis;
text-overflow: ellipsis;
overflow: hidden;
}
单行省略
{
white-space: nowrap; // 不换行
width: 10rem;
-webkit-text-overflow: ellipsis;
text-overflow: ellipsis;
overflow: hidden;
}
注:需要适配浏览器
图片自适应
一般是控制宽度高度自适应
用代码翻译一下就是1
2max-width: 100%;
height: auto;
display
1 | 默认 inline // 元素会被显示为内联元素,元素前后没有换行符。 |
word-break
1 | 指定了在单词内断行 |
box-sizing
box-sizing
content-box:就是默认使用的盒模型,content只包括盒模型的width和height
border-box:content包括content/padding/border
css3新特性
圆角
1 | div{ |
半圆1
2
3
4
5
6
7
8
9.radius{
width: 100px;
height: 200px;
background-color: aqua;
/* border-top-left-radius: 100px; */
/* border-top-right-radius: 100px; */
/* border-radius: 100px 50px; */
border-radius: 100px 0 0 100px;
}
伪类选择器
1 | a:link |
隔行换色
1 | 语法 |
伪元素
1 | 语法: |
示例1
2
3
4
5
6
7
8
9
10
11
12
13<style>
.letter::first-letter{
font-size: 35px;
color: crimson;
font-weight: bold;
float: left;
}
/* 添加float:left首个文字就会下沉 */
.letter::first-line{
color: #f66
}
/* 首行 */
</style>
1 | ::after{ |
画对话框
1 | .dialog{ |
画菱形和平行四边形
要考虑样式的兼容性。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22画菱形的思路:先画个正方形旋转45度。 单位deg
.diamond{
width: 200px;
height: 200px;
-ms-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-webkit-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: rotate(45deg);
background-color: aqua;
}
平行四边形使用倾斜
.parallel{
width: 300px;
height: 200px;
-ms-transform: skewX(45deg);
-moz-transform: skewX(45deg);
-webkit-transform: skewX(45deg);
-o-transform: skewX(45deg);
transform: skewX(45deg);
background-color: aqua;
}
五角星和六角星
发光字体、立体字
1 | text-shadow: h-shadow v-shadow blur color; |
rem
设置基准然后根据基准计算。1
2
3html{
font-size:62.5%; // 10/16*100% 默认16px
}
flex
参考
Flexible Box的缩写,意思是弹性布局
1 | display: flex; |
flex-direction 主轴的方向,项目的排列方向
1 | .box { |
flex-wrap 轴线上如何换行
1 | .box{ |
flex-flow 是flex-direction和flex-wrap的简写形式
1 | .box { |
justify-content 主轴的对其方式
1 | .box { |
align-items 交叉轴上如何对齐
1 | .box { |
align-conetent align-content属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用
flex 项目的属性
order
项目的顺序,数字越小,排列越靠前,默认值是0
flex-grow
定义项目的放大的比例,默认为0,保持自身,即使还有剩余空间,也不放大。
如果所有项目的flex-grow属性都为1,则它们将等分剩余空间(如果有的话)。如果一个项目的flex-grow属性为2,其他项目都为1,则前者占据的剩余空间将比其他项多一倍。
flex-shrink
定义项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。
flex-basis 属性
定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值是 auto ,即项目的本来大小。
可以设置和 width 一样的值。
flex
flex 属性是 flex-grow, flex-shrink 和 flex-basis 的简写。
默认值 0 1 auto
伪元素放到父元素的下面
z-index: -1;
文字镂空
方式1
text-fill-color
text-stroke1
2text-fill-color:#2E208C;
text-stroke: 1px #2E208C;
方式2
1 | text-shadow: 1px 1px #2E208C, -1px -1px #2E208C, 1px -1px #2E208C, -1px 1px #2E208C; |
CSS 外边距合并
注:只有普通文档流中块框的垂直外边距才会发生外边距合并。行内框、浮动框或绝对定位之间的外边距不会合并。
渐变色
语法
background: linear-gradient(direction, color-stop1, color-stop2, …);
线性渐变 - 从上到下(默认情况下)
1 | #grad { |
从左到右1
2
3
4
5
6#grad {
background: -webkit-linear-gradient(left, red , blue); /* Safari 5.1 - 6.0 */
background: -o-linear-gradient(right, red, blue); /* Opera 11.1 - 12.0 */
background: -moz-linear-gradient(right, red, blue); /* Firefox 3.6 - 15 */
background: linear-gradient(to right, red , blue); /* 标准的语法 */
}
从左上角到右下角1
2
3
4
5
6#grad {
background: -webkit-linear-gradient(left top, red , blue); /* Safari 5.1 - 6.0 */
background: -o-linear-gradient(bottom right, red, blue); /* Opera 11.1 - 12.0 */
background: -moz-linear-gradient(bottom right, red, blue); /* Firefox 3.6 - 15 */
background: linear-gradient(to bottom right, red , blue); /* 标准的语法 */
}
也可以使用角度
font-weight
normal 默认值。定义标准的字符。
bold 定义粗体字符。
bolder 定义更粗的字符。
lighter 定义更细的字符。
100
200
300
400
500
600
700
800
900
定义由粗到细的字符。400 等同于 normal,而 700 等同于 bold。
inherit 规定应该从父元素继承字体的粗细。