1、哪个HTML 属性可用来定义内联样式( )(选1项)
5、下面css语法有误的是( )(选1项)
6、一条css语句的基本结构主要有哪几个部分组成( )(选3项)
D)横线从文字中间穿过
8、外部样式表文件的扩展名为( )(选1项)
2.对象方法中指向当前对象
3.事件回调函数中指向事件源(当前节点)
4.箭头函数中,没有固定指向,一般指向宿主对象
5.构造函数中,指向实例化后的对象
2.innerText返回的是标签内的文本值,不包含html标签。
1、onmouseover、onmouseout:鼠标经过时自身触发事件,经过其子元素时也触发该事件;(父亲有的东西,儿子也有) ,支持冒泡
2、onmouseenter、onmouseleave:鼠标经过时自身触发事件,经过其子元素时不触发该事件。(父亲的东西就是父亲的,不归儿子所有) ,不支持冒泡
5:rgba()和opacity的透明效果有什么不同
rgba()和opacity都能实现透明效果,但最大的不同是opacity作用于元素,以及元素内的所有内容的透明度
6:内置对象,宿主对象,自定义对象的区别?
2、宿主对象:JS所运行的环境提供的对象比如:BOM中的Window、DOM中的document。
3、自定义对象:自定义构造函数所创建的对象。
统一网站可以共享 不同浏览器 不能共享 没有设置有效期浏览器关闭则消失
告诉浏览器解析器,用什么文档类型,规范来解析这个文档
原型对象,是用来解决构造函数在创建实例的时候,防止重复执行所导致的性能的降低(这里主要指占用内存),来为服用带来方便。
10:ajax的最大特点是什么?
ajax 可以实现异步通信 实现页面局部 刷新,带给客户更好的体验,节约宽带资源
bind是永久绑定,所有指向是A
1.在no-repeat情况下,如果容器宽高比bai与图片宽du高比不同
cover:图片宽高比不变、铺满整个容器的宽高,而图片多出的部分则会被截掉;
contain:图片自身的宽高比不变,缩放至图片自身能完全显示出来,所以容器会有留白区域;
cover:与上述相同;contain:容器内至少有一张完整的图,容器留白区域则平铺背景图,铺不下的再裁掉。
CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素。当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染)。
1.直接写在标签里面 style='样式1;样式2;';# 行内样式;行内式是在标记的style属性中设定CSS样式,不推荐大规模使用;
2.在head中通过style标签定义;# 内部样式
3.把样式单独写在css文件中,然后在html文件中通过link标签导入;# 外部样式
每个CSS样式由两个组成部分:选择器和声明。声明又包括属性和属性值。每个声明之后用分号结束。
选择器{样式1;样式2}
CSS查找标签的方式(选择器)
元素选择器(标签选择器) # 适用于 批量的\统一\默认的样式
标签名{样式1;样式2;}
ID选择器 # 适用于特定标签设置特殊的样式
# ID{样式1;样式2;}
类选择器 # 适用于给某一些标签设定相同样式
.类名{样式1;样式2;}
使用:标签 class='类名'
样式类名不要用数字开头(有的浏览器不认)。
标签中的class属性如果有多个,要用空格分隔。
*{样式1;样式2;}
选择器 子标签{样式1;}
选择器>子标签{样式1;}
毗邻选择器#同级相邻
选择器+子标签{样式1;}
弟弟选择器#同级所有
选择器~子标签{样式1;}
[属性]{样式1;}#用于选取带有指定属性的元素
[属性='值']{样式1;}#用于选取带有指定属性和值得元素
/*input输入框获取焦点时样式*/
/*父元素的第n个子元素*/
/*父元素的奇数个子元素*/
/*匹配父元素的偶数个子元素*/
/*匹配不符合当前选择器的任何元素*/
div:not(选择器) # 在div下反选 不符合选择器的内容
1.内联样式(直接在标签里面写style)优先级最高
2.选择器相同的情况下,谁靠近标签谁生效
内联样式的权重为1000
id选择器的权重为100
类选择器的权重为10
元素选择器的权重为1
通用选择器的权重为0
权重计算永不进位
当多个元素的样式相同的时候,我们没有必要重复地为每个元素都设置样式,我们可以通过在多个选择器之间使用逗号分隔的分组选择器来统一设置元素样式。
选择器,选择器{样式1;}
width属性可以为元素设置宽度。
height属性可以为元素设置高度。
line-height:容器高度保持一致 # 设置垂直居中
块级标签才能设置宽度,内联标签的宽度由内容来决定。
rem是CSS3新增的相对长度单位,是指相对于根元素html的font-size计算值的大小。简单可理解为屏幕宽度的百分比。
由于px是相对固定单位,字号大写直接被定死,无法随着浏览器进行缩放。
em和rem都是相对单位,em是相对于其父元素的font-size,页面层级越深,em换算越复杂,麻烦。
rem直接相对于根元素html,避开层级关系,移动端新型浏览器对其支持较好。
有inset 则为内阴影,没有insert 则为外阴影,默认为外阴影。
横向阴影的大小,正值阴影在右边,负值阴影在左边,0的时候阴影中盒子后面,看不见的,如果有blur-radius值会有模糊效果。
纵向阴影的大小,值同offset-x。
阴影的模糊程度,值越大,阴影越模糊。
阴影的扩大缩小,正值时,阴影扩大;负值时,阴影缩小,默认为0,和盒子同样大。
font-family可以把多个字体名称作为一个“回退”系统来保存。如果浏览器不支持第一个字体,则会尝试下一个。浏览器会使用它可识别的第一个值。
如果设置成 inherit 表示继承父元素的字体大小值。
值 描述
normal 默认值。浏览器显示一个标准的字体样式。
italic 浏览器会显示一个斜体的字体样式。
oblique 浏览器会显示一个倾斜的字体样式。
inherit 规定应该从父元素继承字体样式。
font-weight用来设置字体的字重(粗细)。
值 描述
normal 默认值,标准粗细
bold 粗体
bolder 更粗
lighter 更细
inherit 继承父元素字体的粗细值
文本颜色 color
颜色属性被用来设置文字的颜色。
颜色是通过CSS最经常的指定:
#在浏览器检查 ctrl + shift +c 选中文本样式找color 可以找色盘
十六进制值 - 如: #FF0000
颜色的名称 - 如: red
还有rgba(255,0,0,0.3),第四个值为alpha, 指定了色彩的透明度/不透明度,它的范围为0.0到1.0之间。
text-align 属性规定元素中的文本的水平对齐方式。
值 描述
left 左边对齐 默认值
right 右对齐
center 居中对齐
justify 两端对齐
text-decoration 属性用来给文字添加特殊效果。
值 描述
none 默认。定义标准的文本。
underline 定义文本下的一条线。
overline 定义文本上的一条线。
line-through 定义穿过文本下的一条线。
常用的为去掉a标签默认的自划线:
将段落的第一行缩进 32像素:
clip 属性剪裁绝对定位元素。
# 这个属性用于定义一个剪裁矩形。对于一个绝对定义元素,在这个矩形内的内容才可见。出了这个剪裁区域的内容会根据 overflow 的值来处理。剪裁区域可能比元素的内容区大,也可能比内容区小。
值 描述
auto 默认值。不应用任何剪裁。
inherit 规定应该从父元素继承 clip 属性的值。
Ps: 需要先进行定位
使用背景图片的一个常见案例就是很多网站会把很多小图标放在一张图片上,然后根据位置去显示图片。减少频繁的图片请求。
/*背景颜色*/
***补充
repeat(默认):背景图片平铺排满整个网页
repeat-x:背景图片只在水平方向上平铺
repeat-y:背景图片只在垂直方向上平铺
no-repeat:背景图片不平铺
值 描述
dashed 矩形虚线边框。
solid 实线边框。
除了可以统一设置边框外还可以单独为某一个边框设置样式,如下所示:
border-radius # 用这个属性能实现圆角边框的效果。将border-radius设置为长或高的一半即可得到一个圆形。设置100%
用于控制HTML元素的显示效果
值 意义
display:"none" HTML文档中元素存在,但是在浏览器中不显示。一般用于配合JavaScript代码使用。
display:"block" 快级标签默认占满整个页面宽度,如果设置了指定宽度,则会用margin填充剩下的部分。(菜单里面的a标签可以设置block)
display:"inline-block" 使元素同时具有行内元素和块级元素的特点。
visibility:hidden: 可以隐藏某个元素,但隐藏的元素仍需占用与未隐藏之前一样的空间。也就是说,该元素虽然被隐藏了,但仍然会影响布局。
display:none: 可以隐藏某个元素,且隐藏的元素不会占用任何空间。也就是说,该元素不但被隐藏了,而且该元素原本占用的空间也会从页面布局中消失。
X轴 称为主轴
display:flex 是一种布局方式。它即可以应用于容器中,也可以应用于行内元素。是W3C提出的一种新的方案,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持。
Flex是Flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。设为Flex布局以后,子元素的float、clear和vertical-align属性将失效。
flex的六个属性
flex-direction 决定主轴的方向(即项目的排列方向)
1:flex-direction:row; 主轴水平方向,起点在左端
flex-wrap 定义换行情况(默认不换行)
1:flex-wrap: nowrap; (默认)元素不换行,比如:一个div宽度100%,设置此属性,2个div宽度就自动变成各50%;
2:flex-wrap: wrap; 元素换行 第一行在下方,比如:一个div宽度100%,设置此属性,第二个div就在第二行了;
5:justify-content : space-around;每个项目两侧的间隔相等,即项目之间的间隔比项目与边框的间隔大一倍
align-content 定义多根轴线的对齐方式
如果项目只有一根轴线,该属性不起作用。
所以,容器必须设置flex-wrap:···;
5:align-content: space-between;与交叉轴的两端对齐,轴线之间的间隔平均分布;
6:align-content: space-around;每根轴线两侧的间隔相等,即轴线之间的间隔比轴线与边框的间隔大一倍;
flex常见属性总结
CSS盒子属性 # 从里到外
Content(内容): 盒子的内容,显示文本和图像;
padding: 用于控制内容与边框之间的距离;
Border(边框): 围绕在内边距和内容外的边框。
margin: 用于控制元素与元素之间的距离;margin的最基本用途就是控制元素周围空间的间隔,从视觉角度上达到相互隔开的目的。
推荐使用简写:
补充padding的常用简写方式:
提供一个,用于四边;
提供两个,第一个用于上-下,第二个用于左-右;
如果提供三个,第一个用于上,第二个用于左-右,第三个用于下;
提供四个参数值,将按上-右-下-左的顺序作用于四边;
推荐使用简写:
常见居中:
} #上下为0 左右为自动
在 CSS 中,任何元素都可以浮动。
浮动元素会生成一个块级框,而不论它本身是何种元素。
关于浮动的两个特点:
浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。
由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。
left:向左浮动
right:向右浮动
none:默认值,不浮动
Ps: 浮动元素的重叠问题
1.浮动元素不会覆盖文字内容
2.浮动元素不会覆盖图片内容
# 因为图片本身也属于文本,可以将图片看做一个特殊的文字
3.浮动元素不会覆盖表单元素
# 输入框,单选按钮,复选框,按钮,下拉选择框等
Ps: 浮动元素在排列时,只参考前一个元素位置即可
clear属性规定元素的哪一侧不允许其他浮动元素。
注意:clear属性只会对自身起作用,而不会影响其他元素。
值 描述
left 在左侧不允许浮动元素。
right 在右侧不允许浮动元素。
both 在左右两侧均不允许浮动元素。
none 默认值。允许浮动元素出现在两侧。
inherit 规定应该从父元素继承 clear 属性的值。
清除浮动的副作用(父标签塌陷问题)
主要有三种方式:
固定高度
伪元素清除法
伪元素清除法(使用较多):
content: "";
clear: both;
}
值 描述
visible 默认值。内容不会被修剪,会呈现在元素框之外。
hidden 内容会被修剪,并且其余内容是不可见的。
scroll 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
auto 如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。
overflow(水平和垂直均设置)
overflow-x(设置水平方向)
overflow-y(设置垂直方向)
static 默认值,无定位,不能当作绝对定位的参照物,并且设置标签对象的left、top等值是不起作用的的。
relative(相对定位)
相对定位是相对于该元素在文档流中的原始位置,即以自己原始位置为参照物。有趣的是,即使设定了元素的相对定位以及偏移值,元素还占有着原来的位置,即占据文档流空间。对象遵循正常文档流,但将依据top,right,bottom,left等属性在正常文档流中偏移位置。而其层叠通过z-index属性定义。
注意:position:relative的一个主要用法:方便绝对定位元素找到参照物。
absolute(绝对定位)
定义:设置为绝对定位的元素框从文档流完全删除,并相对于最近的已定位祖先元素定位,如果元素没有已定位的祖先元素,那么它的位置相对于最初的包含块(即body元素)。元素原先在正常文档流中所占的空间会关闭,就好像该元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。
重点:如果父级设置了position属性,例如position:relative;,那么子元素就会以父级的左上角为原始点进行定位 。这样能很好的解决自适应网站的标签偏离问题,即父级为自适应的,那我子元素就设置position:absolute;父元素设置position:relative;,然后Top、Right、Bottom、Left用百分比宽度表示。
另外,对象脱离正常文档流,使用top,right,bottom,left等属性进行绝对定位。而其层叠通过z-index属性定义
fixed(固定)
fixed:对象脱离正常文档流,使用top,right,bottom,left等属性以窗口为参考点进行定位,当出现滚动条时,对象不会随着滚动。而其层叠通过z-index属性 定义。 注意点: 一个元素若设置了 position:absolute | fixed; 则该元素就不能设置float。这
是一个常识性的知识点,因为这是两个不同的流,一个是浮动流,另一个是“定位流”。但是 relative 却可以。因为它原本所占的空间仍然占据文档流。
在理论上,被设置为fixed的元素会被定位于浏览器窗口的一个指定坐标,不论窗口是否滚动,它都会固定在这个位置。
用来定义透明效果。取值范围是0~1,0是完全透明,1是完全不透明。
注意:与rgba()区别:
opacity改变元素\子元素的透明效果
rgba()只改变当前透明效果
设置对象的层叠顺序。
z-index 值表示谁压着谁,数值大的压盖住数值小的,
只有定位了的元素,才能有z-index,也就是说,不管相对定位,绝对定位,固定定位,都可以使用z-index,而浮动元素不能使用z-index
z-index值没有单位,就是一个正整数,默认的z-index值为0如果大家都没有z-index值,或者z-index值一样,那么谁写在HTML后面,谁在上面压着别人,定位了元素,永远压住没有定位的元素。
从父现象:父亲怂了,儿子再牛逼也没用
#i2 {