一、说一下哪些是块级元素?哪些是行块级元素?哪些是行级元素?
1、块级元素:
①、h1 - h6:标题标签
②、p:段落标签
③、hr:水平线标签
④、ul + li:无序列表
⑤、ol + li:有序列表
⑥、dl + dt / dd:自定义 列表
⑦、div:布局容器
⑧、table:表格
⑨、from:表单
2、行块级元素:
①、input:表单元素
②、img:图片标签
3、行级元素:
①、a:超链接
②、span:修饰文本标签
③、strong or b:字体加粗
④、em or i:字体倾斜
⑤、ins or u:下划线
⑥、del or s:删除线
⑦、label:表单元素
⑧、sub:下标
⑨、sup:上标
二、src 与 href 的区别?
1、href 表示文件的来源地址,在 link 和 a 标签上使用。href 引用的内容是与页面有关联的引用。
2、src 表示文件的录入地址,在 img 和 script 标签上使用。
三、常用的选择器有哪些?id 和 class 的区别?并说明 css 的优先级。
1、常用的选择器:标签选择器、类名选择器、id选择器、通配符选择器、序选择器、交集选择器、并集选择器、子代选择器、后代选择器、下一个兄弟选择器
2、id 是唯一的,一个页面只能有一个id;class 不是唯一的,多个标签可以用相同的类名,一个标签可以用多个类名
3、行内式 > 内嵌式 > 链入式;不同类型的选择器:!important > id选择器 > 类名选择器 > 标签选择器
四、css 哪些属性是可以被继承的?
1、字体颜色可以被继承
2、以 font 开头的可以被继承
3、以 text 开头的可以被继承
4、以 line 开头的可以被继承
五、什么是盒模型?盒模型的组成。
盒模型从外到内以此是,margin 外边距,border 边框,padding 内边距,内容的宽高
六、清除浮动的方法有哪些?
1、直接给父级添加高度
2、隔墙法,但是不推荐使用,产生多余代码
3、超出隐藏,overflow:hidden
4、公共类,伪类清楚。
类名:after{
伪类元素内容为空
content:"";
转为块元素
display:block;
清除左右浮动
clear:both;
}
七、div 中不设高度,在里面添加一张图片,box 高度会自动撑开,但是 div 会有 2-4px 像素的误差,怎么解决?(行块元素有 2-4 像素的误差,什么原因造成的?怎么解决?)
1、行块元素垂直对齐基准导致父级产生2-4像素误差,行块元素不是绝对垂直居中;
2、解决办法:
方法1:改变行块元素的垂直居中方式
方法2:改变他的display转为块元素
八、两个宽度为 50%并且边框为 1px 的 div 并排显示(怪异盒子)。
将外边框改为内边框,box-sizing:border-box;
九、说出四种实现水平垂直居中的方式?
1、设置绝对定位四个属性为零,matgin:auto
2、left:50%;margin-left:负数宽度的一半
top:50%;margin-top:负数高度的一般
3、设置绝对定位,
left:50%;top:50%;
transform:translate(-50%,-50%);
4、设置display: flex;
justify-content: center;
align-items: center;
十、说一下定位有几种?有什么区别?
1、相对定位,绝对定位、固定定位。
2、区别:
①、相对定位:以自己为参考点,不脱离标准文档流,原来的位置被保留
②、绝对定位:以距离自己最近的有相对定位的祖辈为参考点,脱离标准文档流,原来的位置不被保留
③、固定定位:以浏览器为参考点,脱离标准文档流,原来的位置不被保留