最常用的CSS

补充:书写规范:选择器后面要有空格

其他直接看:CSS 按钮 | 菜鸟教程 (it028.com)

www.it028.com/index.htm


最常用的 块级元素:p,h,li

书写顺序一般:布局定位,高度宽度,文本属性,其他属性

CSS使用方式:三种

1內部式

 2行内式:直接在标签中的style属性中写

 3外部样式表:通过link标签引入

权重大小很明显,越近权重越大:行内>内部>外部引入


 CSS三大特性:层叠性(覆盖性),继承,优先级

层叠性:样式冲突,遵循就近原则进行覆盖(覆盖性)

继承:主要继承文字的样式(font-,text-,line-以及color,行高)

优先级:权重:!important> 行内样式style=""> ID选择器> 类选择器,伪类选择器> 标签选择器> 继承或者*

权重叠加:ui li{....} > li{....}


 选择器:四种

标签选择器

顾名思义,把指定的html标签的样式改变

class类选择器

style写一个类样式,html标签用class属性可以直接调用

id选择器

只能使用一次

通配符选择器

不需要调用,能把html,body,div,p所有标签都进行改变,不需要调用


 字体

font-family: 'Courier New', Courier, monospace;【同时赋值几个增加兼容性】

font-size: 22px;【字体大小】

font-weight: 700;【字体加粗】

font-style: italic;【字体设置为斜体】

简写:

font:12px/1.5 Microsoft YaHei;【行高是字体的1.5倍】

文本

color: aqua;
text-align: center;【本质是让div盒子里的文字居中对齐】
text-decoration: underline;
text-indent: 20px;【文本缩进】
line-height: 26px;【line-height是上边距+字体高度+下边距,因为默认字体大小为16px,所以line-height起码大于16px才看得出来】【引文line-height是上边距+字体高度+下边距,所以让文字在盒子里居中的方式可以为line-height等于盒子的高度】


 emment语法快速生成html标签(只记$与{}大括号)

1   .demo$*5

 2 .one${我是人}*4

  emment语法快速生成css样式

w100  按table【width: 100px;】
h200  按table【height: 200px;】
tac  按table【text-align: center;】
lh29  按table【line-height: 29;】


复合选择器:后代选择器,子选择器,并集选择器,伪类选择器,C3属性选择器,结构伪类选择器,伪元素选择器

后代选择器:选择所有后代(用空格选取)

子选择器:用大于符号,选择亲儿子,不选孙子等(用大于号选取)

 并集选择器:用逗号

伪类选择器

链接伪类选择器:书写顺序lvha

 表单伪类选择器:点击就更改样式

C3属性选择器:

结构伪类选择器,选ul中的第一个li孩子ul li:first-child{。。。}    选ul中的第一个3孩子ul li:n-child{3}

伪元素选择器:F12是看不到那个盒子的结构的,不是真正意义上的元素。放在::before放在盒子内容最前面,是行内元素,且必须放context: "..."


 display展示方式

display: block;  转为块元素!!!独占一行!!!【侧边栏一般可以直接一个div里面装几个a,把 a 设置为块再设置为高度就OK】加了浮动里面的子元素变块级
display: inline;   转为行内元素【a,span,br】
display: inline-block;   转为行内块元素(一行放多个且可以调高度,最常用)【input`、`button`、`textarea】


 背景图片

background-image: url(../山.jpg);

background-repeat: no-repeat;
background-position: 20px center; 【第一个位置的值用于左右移动,第二个位置的值用于上下移动.如果只写了一个值那就是左右移动,上下居中对齐background-position: 20px center;等价于background-position: 20px;】
background-attachment: fixed;【是否固定】

background: rgba(0,0,0,0.3);【背景色:最后一个值控制透明度】

简写,写成一行:

background: black url(../山.jpg) no-repeat 20px center;


 块级元素居中对其:margin:0 auto;

行内元素或者行内块元素水平居中给其父元素添加 text-align:center即可*/

外边距塌陷

 解决方案:

可以为父元素定义上边框。
可以为父元素定义上内边距。
可以为父元素添加overflow:hidden。

清楚标签默认的内外边距


浮动:一个孩子加浮动,其他孩子都加就不会有那么多逼事了,不然布局容易乱

设置了浮动( float )的元素最重要特性︰
1.脱离标准普通流的控制(浮)移动到指定位置(动),(俗称脱标)
2.浮动的盒子不再保留原先的位置【他会浮起来到上一个层击,后面的盒子会把原来的位置占掉,看起来就是叠放的效果】

3加了浮动会有块级特性(不是转换为块级元素)

可以了解,不用记住:

浮动的盒子只会影响浮动盒子后面的标准流不会影响前面的标准流.【所以浮动盒子总是贴着前一个标准流下方来显示】

1标准,2浮动,3标准:

 1浮动,2标准,3浮动:(3会在2下面,因为2独占一行)(浮动盒子后面的标准流不会影响前面的标准流,前面的标准流该占一行还是占一行)【所以浮动盒子总是贴着前一个标准流下方来显示】

 为什么要清楚浮动?

比如做一个商品展示页,商品很多很多,父元素的高度不确定不能给,只能靠子盒子撑开。但是子盒子浮动又不占用位置,所以子盒子撑不开,最后父盒子的高度为0,下面的盒子就会顶上来。

清除浮动之后,父级就会根据子盒子的高度检测高度,子盒子多高,父盒子就多高。

【如果是可以给父盒子设置高度,那就直接给父盒子设置高度,也可以清楚浮动】

1.给  最后一个子盒子   加 clear: both 属性(最后一个浮动元素必须是块级元素这个属性才能生效)

2.父级加overflow:hidden  【补:overflow: hidden第二个作用; 会隐藏超出容器范围的部分,并且不会显示滚动条】
3.父级添加after伪元素(在最后一个盒子后面添加了一个看不见的块级元素,给这个块级元素加了clear: both)

再给父盒子加一个class = "clearfix"

4.父级添加双伪元素

 再给父盒子加一个class = "clearfix"


 

定位

relative,sticky占有原来位置,absolute,fixed不占有原来位置。

absolute不是相对于父级定位,而是去找有relative的上级或上上上级的去定位。很好理解,本来页面中所有的盒子如果没有relative(默认html就是relative),那加了absolute就去找html,此时也是越级找的。

只有定位的盒子才有z-index属性


 

精灵图

background: ur1(images/sprites.png) ;导入图片

batkground-position: -182px 0;移动图片

一般情况下精灵图都是负值。(千万注意网页中的坐标︰x轴右边走是正值,左边走是负值,y轴同理。)

字体图标

本质是字体,所以可以随意更改大小,颜色,阴影,旋转且不失正

 fonts放到html同一个目录下。再引入,略

鼠标经过样式:cursor:pointer

表单取消点击边缘发光:outline: none

 文本域取消可以拉大的效果:reasize: none

文字显示不开用省略号:text-overflow : ellipsis;


让图片后面文字居中:

同一个盒子中,如果直接是图片标签,就直接给图片加vertical-align: middle;

同一个盒子中,如果是 子盒子里面背景设置为图片,那就把盒子转为行内块display: inline-block;,再加vertical-align: middle;(图片属于行内块)

bug :图片底侧会有一个空白缝隙,原因是行内块元素会和文字的基线对齐。给图片加vertical-align: middle或者vertical-align: bottom


盒子模型

默认的,box-sizing: content-box;两种情况

 而box-sizing: border-box;规定了只能是第二种向内挤的情况,width多大,盒子多大


 

过渡:

也可以理解为属性继承,覆盖

 

posted @ 2024-03-11 11:21  登峰至极  阅读(5)  评论(0编辑  收藏  举报