# 前端知识点Q&A总结

# Q.通过classNames或者其它方式合并CSS样式,同名的属性,后面的并没有覆盖前面的?

<div className={classNames(styles.a, {[styles.b]: true})}></div>

例如a、b中都有color属性,但是b没有覆盖a,界面还是使用a的颜色。

A. 针对该场景,可以查看*.css*文件中a和b声明的顺序。如果先申明b,后声明a,则会导致上述情况。 这里的覆盖并不是靠classNames中的书写顺序,而是和css中定义的顺序有关。

# Q.列表渲染出来的元素,拖拽排序后,顺序不符合预期

A. 如果列表渲染的时候,元素的key使用的是数组的index,可能会导致这种情况。因为这个时候的key并不能精确识别具体的元素。

# Q.不考虑兼容,快速完成demo

A. 浏览器打开debug工具栏,指定对应设备的宽高进行开发。 后续如果是通过电脑外接屏幕展示,则外接屏幕以后,电脑分辨率设置为外接屏幕的分辨率,内容缩放比设置为100%。浏览器打开页面,并点击F11进入全屏模式。此时即可通过外接屏幕进行浏览展示。