什么是元素显示模式:
元素以什么样的方式(特点)进行显示:
比如div单独占一行,一行可以放多个span标签
html元素分为
(1)块元素
(2)行内元素
h,p,div,ul,ol,li…块元素
四个特点:
比较霸道
可以对其进行设置高度和宽度,外边距和内边距
如果不指定宽度(仅宽度),默认和容器(父级宽度)一样宽
是一个容器,里面可以放块元素或者行内元素
注意点:
1 文字类的元素内不能使用块状元素:
(1)p标签内不能放div标签(检查可以看出来)
(2)h1-h6也是文字类级标签,里面不能放其他块级元素
a, em, i, span ,ins …其中span最典型
行内元素的特点:
注意:
1 链接中不能再放链接
2 特殊情况 a 中可以放块状元素,但是a转换为块级模式更安全
行内元素img,input,td同时具有块元素和行内元素的特点
增加触发a标签的范围:
a是行内元素,不能直接设置宽度和高度
display:block;(写在CSS对应的标签属性中)(用的多)
display:inline;
display:inline-block;
可以截图粘贴到屏幕上
运行后:
1 F1进行截图,还可以其他标注,测量操作
2 F3后可以进行拖拽,在屏幕顶部(不会被覆盖)
3 点击图片,alt键可以进行取色(shift可以切换取色的模式RGB/16进制)
4 删除图片:选中后esc取消显示
最终效果:
步骤1 链接元素(行内元素)转换为块元素:使其单独占一行,并且可以设置宽度和高度
2 鼠标经过链接,给a设置背景颜色(伪类链接选择器)
让文字的行高(line-height)等于盒子的高度,就可以达到居中垂直的效果
如果行高小于盒子的高度:文字偏上
如果行高大于盒子的高度:文字偏下
原理由行高的组成的三部分有关。
背景属性:可以通过手册进行查看学习
一般情况下背景颜色默认是transparent(透明的,清澈的),可以手动对元素背景进行设置颜色
可以对元素图像背景图像进行描述,实际开发中多用于logo/装饰性的小图片/超大背景图片,优点是便于控制位置
background-image
可以通过background-repeat对别境图像进行设置,可以让背景图片进行平铺/不平铺
注意:页面元素既可以添加背景颜色也可以添加背景图片,只不过背景图片会压住背景颜色
背景图片位置的控制
background-position属性对背景图片进行设置
参数值x,y可以是方位名词/像素单位:
1 如果前后参数都是方位名词,前后两值前后等价,与顺序无关(系统会自动识别)
参数只指定一个方位名词:系统会自动识别该属性值属于x/y轴的值,另一默认居中(省略的可能为x轴,也可能是省略的y轴,根据系统决判断定)
3 混合单位(一个是精确单位,一个是方位名词)
默认的是scroll,图片会随滚动条滚动
设置为fixed体图片就会固定(不滚动)
简写形式,目的是减少代码量
最后一个参数a(alpha)是透明度,取值范围为0-1
作用:解决样式冲突的情况
相同的选择器,相同的样式,后面相同的样式会覆盖掉前面冲突的样式
层叠行原则:
1 样式冲突,遵循就近原则(里那个样式近,就
2 不冲突的样式不会被覆盖
现实中继承父姓
CSS中的继承:子标签继承父标签的某些样式(子承父业):文字样式(text-,font-,line-,color),行高
作用:恰当使用能够降低样式代码复杂性,简化代码
font: 12px/24px ‘Microsoft YaHei’;
12表示文字大小,24表示行高
实际开发中:行高可以跟单位px ,也可以不跟单位:
分母中的1.5表示当前行高为当前文字大小的1.5倍
div {
/* 子元素继承了父元素body的行高1.5 */
/* 1.5表示当前行高为子元素文字的1.5倍*/
/* 所以当前div的行高为21px */
font-size :14px;
}
特殊情况:
如果父元素也没有相关文字样式设置,会继承爷爷的
body行高这样不带单位写的好处:
当一个元素指定了多个选择器,会有优先级的产生
选择器相同,执行层叠性(就近原则)
继承/通配符选择器 ----0
元素选择器(标签选择器)-----1
类选择器(包含伪类选择器)----------10
id选择器----------------100
行内样式style=“ ” ---------1000
!import--------------------无穷大
注意
权重由小变大(行内样式是比较高的)
但是最高的是 !import(对级别低的进行加权至无穷高)
1 权重由4组数字构成(等级判断从左到右)
2 继承的权重为0,不管父元素的权重多高,子元素继承的权重都是0(因此看看变迁到底执行哪个样式,就先看这个标签是否被直接选中)
3 a标签浏览器默认设定的样式为文字蓝色,带有下划线: a { font:blue; },需要另外手动设置利用层叠应。
4 权重的叠加计算:复合选择器的权重会进行累加(对应位置相加),但是不会有进位
/* ul li的权重 0,0,0,1+0,0,0,1=0,0,0,2 */
ul li {
color: green;
}
/* li的权重:0,0,0,1 */
li {
color:red;
}
按住shit+alt可以同时对多行同一位置纵向进行操作