一、包含选择器

1、父子选择器(通过父元素选择子元素,只能往下选择器一层,只能是父子,不能隔层)

父元素>子元素

2、后代选择器(只要满足包裹关系都能选中)

祖先 后代

二、伪类选择器

a:link 访问前的样式

a:visited 访问后的样式

a:hover 鼠标移入的样式(所有标签都能设置)

a:active 鼠标激活后的样式(所有标签都能设置)

如果想要伪类选择器都生效,一定要按照以上顺序,LVHA

三、字体属性

1、浏览器默认的字体中文是宋体或是新宋体,英文是Arial,大小为16px,默认粗细为500

2、font-size:pt一般用于印刷领域,网页不用。pt :px = 3 :4。em 相对的单位(相对于父元素的font-size),首行缩进用em。

3、font-family:字体样式。

4、color:字体颜色。rgba可以设置透明度,透明度(0-1),可以设置小数。

 5、font-weight:加粗,blod和bloder效果差不多,normal取消加粗,还可以用数值,900最粗

6、font-style:倾斜:italic;更倾斜:oblique;normal:取消倾斜

7、font-variant:小型大写字母,normal:默认值;small-caps:小型大写字母(把小写字母强制转换为大写字母,但是比大写字母小一号)

8、简写:font:倾斜 加粗 小型大写字母 font-size font-family (最后两个属性必须都存在且必须是这个顺序)

四、文本属性

1、文本的对齐方式:text-aligin

justify:两端对齐

left:左对齐

right:右对齐

center:水平居中

2、块元素和内联元素

块元素

(1)上下排列,独占一行,可以自动换行

(2)可以设置宽高属性

(3)块元素嵌套可以包裹块元素和内联元素,但是又个别标签比较特殊(p,h1~h6,dt)尽量只包裹内联元素

内联元素

(1)左右显示,一行显示多个,不会自动换行

(2)内联元素无法设置宽高,大小由内容撑开

(3)内联元素只能嵌套内联元素

3、行高line-height

(1)设置行间距

(2)可以内容清除自带的行高(12px一下的可以不清除行高)

(3)可以使单行文本垂直居中(行高值等于高度值)

4、设置内容大小写转换:text-transform

none:默认值,没效果

uppercase:大写字母

lowercase:小写字母

 capitalize:首字母大写

5、线条修饰:text-decoration

none:取消线条

underline:下线条

overline:上划线

line-through:删除线

6、首行缩进:text-indent

text-indent:2em

7、字间距 :letter-spacing,px,字与字之间的间距

8、词间距:word-spacing,px,英文单词的内容(主要设置的就是空格)

五、列表属性,列表自带间距

1、list-style-type:

disc:默认值,实心圆

circle:空心圆

square:实心方块

none:取消

简写:list-style:none

六、浮动

1、浮动可以让块元素水平排列

float:left/right/none

浮动元素会脱离网页文档,与其他元素发生重叠,但是不会与文字内容发生重叠

2、清除浮动:

(1)clear:left/right/both

清除浮动只能往上清除,给受影响的盒子清除浮动

会受浮动影响的是兄弟关系,所以也可以利用这个清除浮动

(2)不是同一层的元素不受浮动影响

七、背景图片

1、背景图片的位置

background-position

(1)水平位置:left/right/center

(2)垂直位置:top/center/bottom

2、背景图片是否固定:

background-accachment:

fixed:固定

scroll:滚动,默认值

3、背景大小

background-size:400px 400px;

4、背景简写

background:背景颜色 路径 平铺方式 位置/大小(位置/大小这两个顺序严格要求)

八、盒子模型

1、添加padding内边距,盒子会变形,会将盒子撑大,想要盒子不变形,需要将盒子的宽或者高减去内边距相应的像素值;padding不可以设置负值

2、两个盒子都设置外边距的话,上下会重叠,左右不会重叠,左右外边距相加

3、margin-top的传递问题,父元素下的第一个子元素设置margin-top,这个margin-top值会传递给父元素

解决:(1)给父元素加边框

(2)给父元素添加overflow:hidden,但是触发了BFC,会隐藏超出的内容;用这个方式用的比较多

(3)给父元素添加内边距

(4)给父元素加浮动,不推荐

(5)给子元素加浮动,不推荐

4、设置块元素水平居中,但是如果设置内容浮动了,auto就不起作用了

margin:0 auto

5、input,type:submit时,盒子高度包含边框线

6、内联元素不识别上下的外边距、内边距,只识别左右的外边距、内边距。

7、浮动会改变内联元素的特性,宽高可以设置,四个方向的内外边距也能设置,具备块元素的某些特性。

8、块元素没有宽度,一般块元素的宽度是100%,但是设置float后,块元素的宽的和内联元素一样由内容撑开。

九、属性番外篇

1、vertical-align: middle;(top/bottom/middle)

内容垂直居中,但是有局限性。

(1)元素类型需要转换成表格类型,display:table-cell,但是针对图片不太好用;内容和内容盒子都需要设置vertical-align: middle

(2)给图片添加高度为100%的参照物,<span></span>,span高为100%,类型转换为行内块元素;内容必须是行内块元素;

2、文字超出用省略号

(1)设置宽度

(2)white-space:pre;强制内容不换行

pre:强制内容不换行,多个空格可以识别。

nowrap:强制内容不换行,只能识别一个空格。

normal:默认值,浏览器默认效果(自动换行,空格只能识别一个)。

pre-wrap:自动换行,多个空格可以识别。

pre-line:跟normal一样(自动换行,空格只能识别一个,但是可以识别换行)

(3)overflow:hidden;超出内容隐藏;

(4)把隐藏的内容设置为省略号

text-overflow:ellipsis;

 3、元素溢出内容设置:overflow

visible:默认值

hidden:溢出隐藏

auto:溢出内容转换滚动条

scrool:溢出内容转换滚动条(内容没有超出也会显示滚动条的边框)

overflow-x和overflow-y属性值和上面的一样,单独设置x轴或是y轴值为hidden,另一个值会出现滚动条。

4、设置隐藏的内容:text-overflow

clip:裁剪隐藏的内容,默认值

ellipsis:设置隐藏的内容为省略号

5、多行文本溢出隐藏(兼容性不好,使用不灵活,一般使用js设置),移动端可能会使用,因为移动端的浏览器一般都是最新版本

(1)转换属性

display:-webkit-box;转换为弹性盒(旧属性值),必用属性

-webkit-box-orient:verticle;必用属性,设置盒子的排列方式,垂直排列方式。

-webkit-line-ciamp:3;显示的行数

overflow:hidden;

 6、设置内容垂直居中

vertical-aligin:设置内容垂直居中

top:顶部对齐

bottom:底部对齐

middle:垂直居中

设置方法有两种

第一种:对图片不管用,且设置的元素的宽高是会失效,子元素的宽高默认父元素的宽高,所以不推荐使用。

父元素:display:table(父元素转换成表格形式,但是也是块元素)

子元素:display:table-cell;vertical-align:middle

第二种

子元素:display:inline-block;vertical-aligin:middle;

有参照物span:display:inline-block;vertical-aligin:middle;height:100%;

优势:不管是盒子还是图片都很好用。

 十、定位

1、position有5种定位

relative:相对定位

absolute:绝对定位

fixed:固定定位

sticky:粘性定位

static:取消定位

inherit:继承定位(继承父元素的position值,不常用)

2、定位元素可以出发5个属性

4个方向:left、right、top、bottom

1个层级关系 :z-index

z-index设置内容层级关系,值越大,层级越高;z-index只能设置整数;定位默认层级数,设置的盒子定位越靠后,层级越高(按先后顺序依次递增)

3、相对定位:

position:relative

(1)相对定位可以使用出发的5个属性

(2)相对定位是在自己的原位置上移动

(3)相对定位的元素是占位的,没有脱离文档流

4、绝对定位

position:absolute

绝对定位的元素脱离文档流(绝对定位的元素不占位)

绝对定位位置移动,首先先找有定位的父元素(定位的父元素当做参照物),

如果有就根据父元素的范围位置移动,如果没有就以浏览器窗口当做位置移动的参照物。

以父元素为参照物,给父元素添加相对定位。

5、固定定位

position:fixed;

(1)固定定位可以使用出发的5个属性

(2)固定定位始终以浏览器窗口为位置移动的参照物

(3)固定定位脱离文档流(固定定位的元素不占位)

 锚点:网页的内部跳转(只能用id设置)

<a href="#box1"></a>

<div id="box1"></div>

(4)设置内容固定在网页水平垂直居中

第一种方式:

position:fixed

left:50%;

top:50%;

margin-left:-(盒子的宽度%2)

margin-top:-(盒子的高度%2)

第二种方式:

position:fixed

left:0;

right:0;

top:0;

bottom:0;

margin:auto;

(5)中心放大

左边移动的距离=-(放大后的宽度-放大前的宽度)/2

上边移动的距离=-(放大后的高度-放大前的高度)/2

6、粘性定位(IE兼容性不好)

position:sticky;

可以看做相对定位和固定定位的结合体。

(一般情况下有滚动条滑动内容,内容时占位的,如果滚动条滑动内容,黏性定位的元素就会有固定定位的效果,方向top才管用)

注意点:

(1)使用的时候需要设置left、top、bottom、right值,才有固定定位的效果

(2)避免父元素使用overflower属性

(3)兼容性不好,pc端做ie兼容不考虑用这个

7、取消定位

position:static;

取消定位不可使用方向

十一、伪类选择器扩展

nth-child

nth-last-child

first-child

last-child

only-child(不常用,同级只有一个元素)

first-of-type

last-of-type

nth-of-ype

nth-last-of-type

only-of-type不常用,同级只有一个元素)

target:必须和锚一起使用才有效果

 

<a href="#box1">111</a>
    <a href="#box2">222</a>
    <a href="#box3">333</a>
    <p id="box1">box11111</p>
    <p id="box2">box22222</p>
    <p id="box3">box33333</p>
p:target {
            background-color: darkkhaki;
        }

 

posted on 2021-06-03 14:50  phantom_yy  阅读(76)  评论(0)    收藏  举报