请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于元素显示和隐藏不同做法的区别

老师下面这三种的在渲染上有什么样的区别

第一种使用display:none:
<div className={styles.pic_slide}> {photoList.map((item, i) => ( <img key={item} src={item} alt="" style={{display:index === i ? "inline-block" : "none"}} /> ))} </div>

第二种使用绝对定位:
<div className={styles.pic_slide} style={{ width:600∗lengthpx‘,left:‘{600 * length}px`, left: `600lengthpx,left:{index * -600}px}} > {photoList.map(item => <img key={item} src={item} alt="" />)} </div>

第三种只渲染一个元素:
<div className={styles.pic_slide}> {photoList.map((item, i) => { return index === i && ( <img key={item} src={item} alt="" /> ); })} </div>

正在回答

1回答

同学你好!

第一种情况指定图片使用display:none隐藏,其周围的图片都会受到影响,会引发开销较高的回流和重绘,当然也取决于指定图片的位置。

第二种情况使用绝对定位,指定图片本身会受影响,但其他图片不受影响不会触发回流。fixed同理。

第三种情况显示一个指定元素,看其放置在哪里,是否影响页面上已有元素。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号