发表于: 2019-04-17 20:45:05
2 726
task3
总结:任务三我们需要深入了解盒子模型了解盒子的组成,边框、内边距、 外边距、内容以及他们的作用 内边距又分为上下左右
分别对应的tio right bottom 以及left 外边距一样
相邻元素外边距合并
两个相邻标准流块级元素,上面元素的margin-bottom边距会和下面的margin-top边距合并,如果两个外边距全为正值,合并后的边外边距等于margin-bottom边距和margin-top边距中最大的那个边距,这种现象称为margin的“塌陷”,即较小的margin塌陷到较大的margin中了。如果两个外边距存在负值,合并的外边距的高度等于这些发生合并的外边距的和。当和为负数时,相邻元素在垂直方向上发生重叠,重叠深度的呢关于外边距和的绝对值;当和为0时,两个块级元素无缝连接
外边距合并的必备条件:margin必须是邻接的
两个margin是邻接的必需满足以下条件:
1、必须是处于常规文档流(非float和绝对定位)的块级盒子,并且处于同一个BFC当中
2、没有线盒,没有空隙,没有padding和border将他们分隔开
3、都属于垂直方向上相邻的外边距,可以是下面任意一种情况:
<1>:元素的margin-top与其第一个常规文档流的子元素的margin-top
<2>:元素的margin-bottom与其下一个常规文档流的兄弟元素的margin-top
<3>:height为auto的元素的margin-bottom与其最后一个常规文档流的子元素的margin-bottom
<4>:高度为0并且最小高度也为0,不包含常规文档流的子元素,并且自身没有建立斤的BFC的元素的margin-top和margin-bottom
合并规则:
一个常规文档流元素的margin-bottom与它下一个常规文档流的兄弟元素的margin-top会合并,除非它们之间存在clearance
一个常规文档流元素的margin-top与其第一个常规文档流的子元素的margin-top产生合并,条件为父元素不包含padding和border,子元素不包含clearance
一个’height’为’auto’并且’min-height’为0的常规文档流元素的margin-bottom会与其最后一个常规文档流子元素的margin-bottom合并,条件为父元素不包含padding和border,子元素的margin-bottom不与保护clearance的margin-top合并
一个不包含boder-top、border-bottom、padding-top、padding-bottom的常规文档流元素,并且其’height’为0或’auto’,’min-height’为’0’,其里面也不包含line box,其自身的margin-top和margin-bottom会合并
创建了新的BFC的元素(例如浮动元素或者’overflow’值为’visible’以外的元素)与它的子元素的外边距不会合并
浮动元素不与任何元素的外边距产生合并(包括其父元素和子元素)
绝对定位元素不与任何元素的外边距产生合并
inline-block元素不与任何元素的外边距产生合并
px相对长度单位像素是相对于屏幕分辨率而言
EM特点
1. em的值并不是固定的;
2. em会继承父级元素的字体大小。
relative:生成相对定位的元素,相对于其正常位置进行定位。
元素的位置通过left、right、top、button属性进行规定,
可以通过z-index进行层次分级。
元素元素仍保持其未定位前的形状,原本所占的空间仍将保留。
如果没有定位偏移量,对元素本身没有任何影响
absolute:生成绝对定位元素。使元素脱离文档流,并相对于其包含块进行定位,包含块可能是文档中的另一个元素或者是初始包含块,
元素原先在正常文档流中所占的空间会会被后面元素占据;
元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框;
绝对定位元素的包含块由离它最近的 'position' 属性为 'absolute'、'relative' 或者 'fixed' 的祖先元素创建。只要父级元素设置了position并且不是static(默认既是static),那么设定了absolute的子元素即以此为包含块(最近的)。如果都没有定义,那么就相对于整个文档body定位(注意不是相对于浏览器窗口定位)
相对定位一般都是配合绝对定位元素使用
fixed:生成绝对定位元素,相对于浏览器窗口的定位。通常配合z-index一起来使用。比如说网页上悬挂的聊天图标或者广告就是用了fixedfloat常跟属性值left、right、none
Float:none 不使用浮动
Float:left 靠左浮动
Float:right 靠右浮动
float语法:
float : none | left |right
参数值:
none : 对象不浮动
left : 对象浮在左边
right : 对象浮在右边
1.如何利用PS切图以及从UI图中获取所需信息?
利用PS切图可以切出我们需要的图片还有UI图的形状,我们需要做的那些要求等。
2.px、em、rem、%、vw、wh、vm等单位有什么区别?
px:是显示屏上显示的每一个小点,为显示的最小单位。这个长度与您正在看的显示屏中的文字屏幕像素没有任何关系。
px像素(Pixel)值是固定的,不会随着屏幕宽度变而变。
em:是相对单位。em其实就是一种排版的测试单位.
Rem:是一个相对的单位,像em,但它总是相对于“根”元素html的字体大小来计算。em和rem的区别:em相对于父元素,rem相对于根元素。这极大地简化了与相关长度单位的合作
vw-这是“视口宽度”单位。 1vw等于视口宽度的1%。它与百分比类似,不同之处在于,所有元素的值都保持一致,无论其父元素或父元素宽度如何。
vh-这与vw(视口宽度)单位相同,只是它基于视口高度。vmin and vmax:关于视口高度vh和宽度vw两者的最小值或者最大值。
3.如何进行自适应网页设计
meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
?
4.css有哪些选择器,优先级如何计算?
1.类别选择器以.号来选择在HTML中,元素可以定义一个class的属性,并且多个元素都可以重复应用这个属性。
2、标签选择器
一个完整的HTML页面是有很多不同的标签组成,如:body,div,p,ul,li,而标签选择器,则是 决定哪些标签采用相应的css样式。
ID选择器可以为标有特定ID的HTML元素制定特定的样式。根据元素ID来选择元素,具有唯一性,这意味着同一ID在同一文档页面中只能出现一次。例如,你将一个元素的id取值为“name”,那么在同一页面你就不能再将其他元素id取名为“name”了。
前面以“#”号来标志,在样式里面可以这样定义:
用过“*”号来表示。如下代码表示所有元素的内外边距都为0,所有的字体都为微软雅黑。他可以清除不同浏览器的默认样式。

同时通用选择器还可以和后代选择器组合。如下表示所有p元素后代的所有元素都应用这个样式。

注意:但是如果你在p标签里嵌套了一个p标签,就会出现浏览器不能解析的情况,因此要避免这种情况发生。
5、后代选择器
6、子选择器
请注意这个选择器与后代选择器的区别,子选择器只是选择元素的直接后代,即仅仅作用于第一个后代。后代选择器通过空格来进行选择,而子选择器是通过“>”进行选择。
7、伪类选择器
即链接样式。a元素的伪类,存在4中不同的状态:link、visited、active、hover
9、相邻同胞选择器
如一个标题h1元素后面紧跟了两个段落p元素,我们想定位第一个段落p元素,对它应用样式,就可以使用相邻同胞选择器。两个元素之间用“+”进行连接。
1、在属性后面使用!important会覆盖页面内任何位置定义的元素样式。
2、作为style属性写在元素内的样式
3、id选择器
4、类选择器
5、标签选择器
6、通配符选择器
7、浏览器自定义或子元素集成父类的样式
将上面的稍微总结一下就是:
!important>行内样式>ID选择器>类选择器>标签>通配符>继承>浏览器默认属性
同一级别中后写的会覆盖先写的样式。
5.什么时候用margin好,什么时候用padding好?
需要边框外的时候用外边距 需要内部定位的时候用内边距。
6.手机分辨率和网页中的px是一回事吗?
不一样的所以需要网页自适应
meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
评论