CSS所有属性集合

css写法
css语法规则:css写在标签里,标签里
外联式:      css写在一个单独的 .css文件中(可以用 link 引入html中)
行内样式:  可以在标签里加入 style="css"


基础选择器
1,标签选择器,也可以叫做元素选择器(以标签名命名的选择器,选中所有同名标签)
2,类选择器 (在标签里加入 class="自定义类名")    .自定义类名:{}
3,id选择器(一个标签上只能有一个id属性值,id="自定义名")     #自定义名:{}
4,通配符选择器(给页面中所有元素都添加css样式) *{}



文字样式
font-weight:400px;                         (正常粗细)
font-weight:normal;                        (正常粗细)
font-weight:bold;                            (加粗)
font-weight:700px;                         (数字加粗)
font-style:italic                                (倾斜状态)
font-family:                                     (字体样式)
font-size:1px;                                 (字体大小)


css的单位
px 是固定单位,像素
em 是相对单位,相当于当前文字的大小,如果没有就找父元素
rem 也是相对单位,相对于html的fontsize的大小


文本对齐方式
text-indent                       (文本缩进)
text-align:left;                   (左对齐)
text-align:center;              (居中对齐)
text-align:right;                 (右对齐)


文本修饰线
text-decoration:underline;         (下划线)
text-decoration:line-through;     (删除线)
text-decoration:overline;           (上划线)
text-decoration:none;                (无装饰线)
line-height:10px;                        (行高,单位px)
line-height:10px;                       (垂直居中,设置自身高度=行高,文字只有一行生效)


css选择器
后代选择器:空格隔开
子代选择器:>
并集选择器:使用逗号隔开,作用是选择多组标签,设置相同的样式
交集选择器:选择器1紧挨着选择器2
伪类选择器:  :hover 任何标签都可以添加伪类,任何一个标签都可以鼠标悬停

css选择器优先级,不同选择器具有不同的优先级,优先级高的选择器样式会覆盖优先级低的样式
!important > 行内样式 > id选择器 > 类/属性/伪类选择器 > 伪元素/标签选择器 > 通配符* > 继承


背景-背景图位置
background-image         (背景图)
background-repeat         (水平垂直平铺)
no-repeat                       (不平铺)
repeat-x                         (沿着水平方向平铺)
repeat-y                         (沿着垂直方向平铺)
属性名:        background-position(bgp)
属性值:        background-position:水平方向位置+空格+垂直方向位置;
取值为正数:向右或者向下移动,负数则向左向上移动


元素显示模式
块级元素
1.独占一行(一行只能显示一个)
2.宽度默认是父元素的100%宽度,高度和宽度都可以设置
代表标签:div \ p \ h1-h6 \ ul \ li  \ dl \ dt \ dd等
行内元素
1.一行可以显示多个
2.宽度和高度默认由内容撑开
3.不可以设置宽高
代表标签:
a、span 、b 、u、i、s、strong、ins、em、del....
行内块元素
1.一行可以显示多个
2.可以设置宽高
代表标签:
input、textarea、button、select........
特殊情况:img标签有行内块元素特点,但是chrome调试工具中显示结果是inline。
 


显示模式-转换
目的:改变元素默认的显示特点,让元素符合布局要求!
语法:
display:block  转换成块级元素(较多)
display:inline-block 转换成行内块元素(较多)
display:inline 转换成行内元素(较少)

标签嵌套的原则与生活类似,以大标签来套小标签


css特性
1.继承性
特性:子元素有默认继承父元素样式的特点
可以继承的常见属性:
文字控制属性都可以继承
height:100%;  
width:100%;

2.层叠性
特性:
1.给同一个标签设置不同的样式→此时样式会层叠叠加→会共同作用在标签上
2.给同一个标签设置相同的样式→此时样式会层叠覆盖→最终写在最后的样式会生效
注意点:
当样式冲突时,只有当选择器优先级相同时,才能通过层叠性判断结果,


盒子模型

css中盒子由:content(内容区) padding(内边距) border(边框区) margin(外边距区)
border线类型:solid(实心线)dashed(虚线) dotted(点线)
border-left,border-right,border-top,border-bottom,(给盒子的边单独设置)

盒子模型-内减方法,内边距和外边距一样
解决方法1:手动减去撑大内容像素
解决方法2:给盒子设置属性box-sizing:border-box;即可
浏览器会自动计算多余大小,自动在内容中减去
清除默认样式
*{
    margin:0;
    padding:0;
}

版心居中
 margin:0 auto;(自动水平居中)
写css的技巧
1.找它 :选择器
2.摆它 :盒子模型,宽度,高度,背景色;
3.改它:调位置,文字样式。

ul属性去掉列表的原点代码是:list-style:none;
外边距合并
垂直布局的块级元素,上下的margin(外边距)会合并。
最终两者距离为margin的最大值边距。
解决方法:(只给其中一个盒子设置margin即可)

外边距-塌陷现象
互相嵌套的块级元素,子元素的margin-top会作用在父元素上
解决方法:
1.给父元素设置border-top或者padding-top(分隔父子元素的margin-top)
2.给父元素设置overflow:hidden ※
3.转换成行内块元素(display:inline-block;)
4.设置浮动


伪类选择器
E:first-child { } (匹配父元素中第一个子元素,并且是E元素)
E:last-child { } (匹配父元素中最后一个元素,并且是E元素)
E:nth-child(n) { } (匹配父元素中第n个子元素,并且是E元素)
E:nth-last-child(n) { } (匹配父元素中倒数第n个子元素元素,并且是E元素)
:nth-child(N)公式写法中,N的值从0开始
奇数、偶数、5的倍数对应的公式(n为)
1,奇数:2n+1或者2n-1
2,偶数:2n \ even
3,5的倍数:5n


伪元素
::before      在父元素内容的最前面加一个伪元素
::after         在父元素内容的最后添加一个伪元素


浮动
float:left;(最左边浮动)float:right;(最右边浮动)
浮动-特点(浮动的标签是顶对齐)浮动后的标签具备行内块儿特点
1.浮动元素会脱离标准流,在标准流中不占位置
2.浮动元素比标准流高半个级别,可以覆盖标准流中的元素
3.浮动找浮动,下一个浮动元素会在上一个浮动元素后面左右浮动
4.浮动元素有特殊的显示效果,一行可以显示多个,可以设置宽高
注意:浮动的元素不能通过text-align:center;或者margin:0 auto; 居中
overflow:hidden; 属性添加给浮动的父元素
 


定位
定位的使用步骤,先设置定位方式
属性名:position 
static(静态定位 ) (不定位)

relative(相对定位
1.占有原来的位置 
2.仍然具备标签原有的显示模式特点 
3.改变位置参照自己原来的位置
4.如果left和right都有,以left为准;top和bottom都有,以top为准

absolute(绝对定位)
1.先找已经定位的父级,如果有这样的父级就以这个父级为参照物进行定位。
2.如果有父级,但是父级没有定位,以浏览器窗口为参照进行定位
3.脱标  不占位
4.改变标签的显示模式特点:具备了行内块儿特点(在一行共存,宽高生效)

fixed(固定定位
1.脱标,不占位置
2.改变位置参考浏览器窗口
3.具备行内块特点

定位-子绝父相
1.父级相对定位;子级绝对定位-- 子绝父相
2.绝对定位查找父级的方式:就近找定位的父级,如果逐层查找不到这样的父级,就以浏览器为参考
定位-居中
1.绝对定位的盒子不能使用左右margin:0 auto居中
2.如果是水平居中 left:50%,整个盒子移动到浏览器中间偏右的位置,取值为margin为宽度的负一半宽度就可以中心水平居中,垂直也是同理
位移居中
第一个百分之50是水平,第二个是垂直
transform:translate(-50%,-50%)
位移:自己宽度高度的一半,如果写了定位,会转换为行内块元素,具有宽高生效,一行显示,如果不加宽度,宽度就是内容的大小,所以宽度一定要加,与父级的宽度一样,width:父级的宽度,或者width:100%
定位-显示层级
1.在默认情况下,定位的盒子,后来者居上
2.z-index:整数;取值越大,显示顺序越考上,z-index的默认值是0
3.2. 注意:z-index必须配合定位来使用


光标类型,属性名:cursor
设置鼠标光标在元素上显示的样式
default        (默认值,通常是箭头)
pointer        (小手效果,提示用户可以点击)
text             (工字型,提示用户可以选择文字)
move          (十字光标,提示用户可以移动)


装饰-圆角
border-radius:10px/10%
四个值:左上  右上  右下  左下 --从左上顺时针转一圈
取盒子尺寸的一半为圆形
圆角形式:border-radius: 50%;
设置一个长方形 ,border-radius:盒子取高度的一半为胶囊样式


溢出显示效果-overflow(超出父级的内容)
属性名:overflow
visible(默认值,溢出部分可见)
hidden(溢出部分隐藏)
scroll(无论是否溢出,都显示滚动条)
auto(根据是否溢出,自动显示或隐藏滚动条)

显示隐藏-基本使用(标签的隐藏)
占为隐藏:visibility:hidden;
不占位隐藏:display:none

盒子阴影
属性名:box-shadow
过渡
让元素的样式慢慢的变化,配合hover使用,增强网页交互体验
属性名:transition
谁变化谁加过渡属性
如果变化属性多,直接写all,表示所有

标签:
1. title:网页标题标签
2. description:网页描述标签
3. keywords:网页关键词标签


溢出显示效果,属性名:overflow(超出父级的内容)
visible      (默认值,溢出部分可见)
hidden     (溢出部分隐藏)
scroll       (无论是否溢出,都显示滚动条)
auto         (根据是否溢出,自动显示或隐藏滚动条)

显示隐藏-基本使用(标签的隐藏)
占为隐藏:visibility:hidden;
不占位隐藏:display:none
盒子阴影,属性名:box-shadow


背景颜色设置
渐变背景
background-image:linear-gradient(颜色) 
透明度
background:transparent      (背景完全透明,不能设置透明度)
background:rgba(0,0,0,0)    (让背景出现透明效果,但上面的文字不透明,可以调整透明度)
opacity: 0;  指定不透明度,从0.0(完全透明)到1.0(完全不透明)
该属性具有继承性,会使容器中的所有元素都具有透明度


平面转换(transform)
位移(translate)  ,translateX()  translateY(),向下是正数,默认值是 0px 
旋转(rotate)   ,旋转一半(180deg)
缩放(scale)   也是x和y
过渡,属性名:transition   transition:1s  (动作的执行时间)
:hover(鼠标悬停触发)
让元素的样式慢慢的变化,配合hover使用,增强网页交互体验谁变化谁加过渡属性,
如果变化属性多,直接写all,表示所有

多重转换:旋转放到最后,旋转会改变坐标轴的轴向

透视效果:perspective: 1000px;  (取值范围800px-1200px)这个加到父元素上
transform: translateZ(400px);
 


flex弹性盒子布局

解决元素居中问题,自动弹性伸缩,合适适配不同大小的屏幕,和移动端。
1. flex-direction      (主轴方向)
row(默认值):     主轴为水平方向,起点在左端。
row-reverse:          主轴为水平方向,起点在右端。
column:                 主轴为垂直方向,起点在上沿。
column-reverse:    主轴为垂直方向,起点在下沿。
2. flex-wrap             (主轴一行满了换行)
nowrap                    (默认值) 不换行压缩宽度
wrap                        换行
wrap-reverses         反向换行
3. flex-flow                (1和2的组合)
4. justify-content      (主轴元素对齐方式)
flex-start (默认)靠着main-start对齐//参考常见术语(一般是左方向)
flex-end                   靠着main-end对齐//参考常见术语(一般是右方向)
center                     靠着主轴居中对齐//一般就是居中对齐
space-between       两端对齐,靠着容器壁,剩余空间平分
space-around          分散对齐,不靠着容器壁,剩余空间在每个项目二侧平均分配
space-evenly          平均对齐,不靠着容器壁,剩余空间平分
5. align-items           (交叉轴元素对齐方式//单行)
flex-start:        交叉轴的起点对齐。
flex-end:        交叉轴的终点对齐。
center:           交叉轴的中点对齐。
baseline:         项目的第一行文字的基线对齐。
stretch:        (默认值)伸展:如果项目未设置高度或设为auto,将占满整个容器的高度。
6. align-content        (交叉轴行对齐方式//多行)
flex-start                 (每一行)(默认)靠着cross-start对齐//参考常见术语(一般是左方向)
flex-end                (每一行)靠着cross-end对齐//参考常见术语(一般是右方向)
center                     (每一行)靠着cross线居中对齐//一般就是居中对齐
space-between      (每一行)两端对齐,靠着容器上下壁,剩余空间平分
space-around        (每一行)分散对齐,不靠着容器壁,剩余空间在每个项目二侧平均分配
strentch                  (每一行)伸缩,占满整个高度

你可能感兴趣的:(前端,前端,css3)