Open zhh10 opened 4 years ago
div、p、h
img、input
span、text、a
一个块的总宽度 = width + margin(左右) + padding(左右) + border(左右)
一个块的总宽度 = width + margin(左右) width包含了padding左右和border左右值
border-box:box-sizing
display:none
visibility:hidden
opacity:0
display:none让整个元素直接消失,会引起页面回流。而visibility:hidden和opacity:0在网页中的位置还在,只会造成页面重绘,不会引起页面回流。两者的区别在于opacity可以用在动画transition过渡上,而visibility不可以
opacity
transition
visibility
width/height
vw/vh
flex
rem/em
alt
title
<style> #app{ width:0; height:0; border:100px solid black; border-color:transparent transparent black black; } </style> <body> <div id='app'></div> </body>
主要分成两部分:
form表单可以跨域,但是ajax不可以。因为原页面用form提交到另一个域名之后,原页面的脚本无法获取新页面中的内容。所以浏览器认为是安全的。而ajax是可以读取响应内容的,因此浏览器不能允许你这样做。浏览器这个策略的本质是: 一个域名的JS,在未经允许的情况下,不得读取另一个域名的内容,但浏览器并不阻止你向另一个域名发送请求。
因为浏览器的兼容问题,不同浏览器对有些标签的默认值是不同的,如果没有对CSS初始化往往会出现浏览器之间的页面显示差异。
水平居中
text-align:center
margin: 0 auto
position: absolute;left:to%;transform:translateX(-50%);
display:flex;justify-content:center;
垂直居中
line-height等于height
position:absolute;top:50%;transform:translateY(-50%);
display:flex;align-items:center;
display:table-flex;vertical-align:middle;
height:1px; transform:scale(0.5);
.container::after{ content:""; clear:both; display:block; }
overflow:auto/hidden
inline-block
两个并列的inline-block中间会有一条裂缝,这个的原因是两个标签之间有空格,浏览器把这些空格当作文字中的空格,所以这两个块中间多少有间隙。 解决办法:
font-size:0;
因为img也相当于inline的元素,inline就要遵守行高的构成,它会按照base基线对齐,基线对齐的话那么它就会和底线间又一个缝隙。
如何解决: 因为它会遵守文字对齐方案,那么就把图片的对齐方式修改为vertical-align:bottom,或者让它display:block,这样图片虽然会换行,但是没有间隙了。
vertical-align:bottom
display:block
1. 块级元素、行内块元素、行内元素都有哪些,它们有什么区别
div、p、h
等,行内块元素有img、input
标签,行内元素有span、text、a
标签。2. 盒子模型都有哪些
一个块的总宽度 = width + margin(左右) + padding(左右) + border(左右)
一个块的总宽度 = width + margin(左右) width包含了padding左右和border左右值
3. 如何让元素隐藏
display:none
visibility:hidden
opacity:0
display:none
让整个元素直接消失,会引起页面回流。而visibility:hidden
和opacity:0
在网页中的位置还在,只会造成页面重绘,不会引起页面回流。两者的区别在于opacity
可以用在动画transition
过渡上,而visibility
不可以4. 响应式布局可以怎么做
width/height
设置百分比vw/vh
flex
弹性布局rem/em
5. 常用的浏览器及其内核
6. 对标签语义化的理解
7. img标签的
alt
和title
alt
: 图片的代替文字title
: 图片的解析文字8. CSS如何画一个三角形
9. 对浏览器内核的理解
主要分成两部分:
10. 什么是BFC
11. 表单可以跨域吗?
form表单可以跨域,但是ajax不可以。因为原页面用form提交到另一个域名之后,原页面的脚本无法获取新页面中的内容。所以浏览器认为是安全的。而ajax是可以读取响应内容的,因此浏览器不能允许你这样做。浏览器这个策略的本质是: 一个域名的JS,在未经允许的情况下,不得读取另一个域名的内容,但浏览器并不阻止你向另一个域名发送请求。
12. 为什么要初始化CSS样式?
因为浏览器的兼容问题,不同浏览器对有些标签的默认值是不同的,如果没有对CSS初始化往往会出现浏览器之间的页面显示差异。
13. CSS水平、垂直居中的写法,请至少写出4种
水平居中
text-align:center
margin: 0 auto
position: absolute;left:to%;transform:translateX(-50%);
display:flex;justify-content:center;
垂直居中
line-height等于height
position:absolute;top:50%;transform:translateY(-50%);
display:flex;align-items:center;
display:table-flex;vertical-align:middle;
14. 如何画一条0.5px 的直线
15. 清除浮动
overflow:auto/hidden
。16.
inline-block
的间隙两个并列的
inline-block
中间会有一条裂缝,这个的原因是两个标签之间有空格,浏览器把这些空格当作文字中的空格,所以这两个块中间多少有间隙。 解决办法:font-size:0;
然后再在里面重新设置字体大小17. 图片下面有一个缝隙是因为什么?
因为img也相当于inline的元素,inline就要遵守行高的构成,它会按照base基线对齐,基线对齐的话那么它就会和底线间又一个缝隙。
如何解决: 因为它会遵守文字对齐方案,那么就把图片的对齐方式修改为
vertical-align:bottom
,或者让它display:block
,这样图片虽然会换行,但是没有间隙了。18. HTML和DOM的关系
19.