img 固定在父容器底部_img图片与容器下边界的缝隙的解决方式

今天在给图片弄hover遮罩时,发现遮罩的下方与图片的下边界没有对齐,而是多了4px左右,这里就记录下几个解决方案

今天在给图片弄hover遮罩时,发现遮罩的下方与图片的下边界没有对齐,而是多了4px左右,这里就记录下几个解决方案。

通常在img图片的父级容器是块级元素时,就会造成如下的现象:

.css_img_main{border: 1px solid #f00; width: 475px;}

img

我们看到图片的下边界与div中间有个小的缝隙,那么我们就得需要解决这个问题。如果不解决这个问题的话,那底部有个遮罩的话,那也就不能跟图片的下边界对齐了。

这里简单的介绍3个解决方案:

1. 给图片添加vertical-align属性.main img{

vertical-align : bottom; // top, middle

}

只要vertical-align的值是以上三个中任意的一个,就能解决缝隙的问题。

2. 定义容器里的字体大小为0.main{

font-size : 0;

}

这样也可以解决缝隙的问题。

3. 把图片设置为块级元素.main img{

display : block;

}

据说,图片文字等inline元素默认是和父级元素的baseline对齐的,而baseline又和父级底边有一定距离(这个距离和 font-size,font-family 相关),所以设置 vertical-align:top/bottom/text-top/text-bottom 都可以避免这种情况出现。而且不光li,其他的block元素中包含img也会有这个现象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
lv_img_cache_invalidate_src 函数用于使指定的图片缓存失效并重新加载。但是在某些情况下,它会导致图片加载变慢。这可能是因为在调用该函数之前,图片已经被加载到缓存中,因此在调用该函数后,它会被重新加载,导致额外的延迟。 要解决这个问题,可以考虑以下方法: 1. 尽可能避免重复调用 lv_img_cache_invalidate_src 函数。如果您需要在代码中多次使用同一张图片,请尝试在第一次加载图片时调用该函数,并在后续使用中避免再次调用。 2. 如果您需要动态更改图片的 src 属性,请尽可能使用 lv_img_set_src 函数而不是 lv_img_set_src_async 函数。因为前者会立即更新图片的 src 属性,而后者会在后台异步加载图片,可能会导致图片加载延迟。 3. 如果您必须使用 lv_img_cache_invalidate_src 函数,请尝试在适当的时间调用它。例如,在应用程序启动时或在加载新的页面时,而不是在用户交互期间。这样可以避免用户在操作过程中遇到延迟。 以下是一个示例代码,演示了如何使用 lv_img_cache_invalidate_src 函数,同时避免以上问题: ```c /* Load the image at application startup */ lv_obj_t *img = lv_img_create(lv_scr_act(), NULL); lv_img_set_src(img, "path/to/image.png"); lv_img_cache_invalidate_src("path/to/image.png"); /* Change the image src attribute */ void on_button_click(lv_obj_t *btn, lv_event_t event) { if (event == LV_EVENT_CLICKED) { lv_img_set_src(img, "path/to/new_image.png"); lv_img_cache_invalidate_src("path/to/new_image.png"); } } ``` 在这个例子中,我们在应用程序启动时加载了一张图片,并调用了 lv_img_cache_invalidate_src 函数。之后,当用户点击一个按钮时,我们通过 lv_img_set_src 函数动态更改了图片的 src 属性,并再次调用了 lv_img_cache_invalidate_src 函数。这样可以确保在更改图片时缓存被正确地更新,同时避免不必要的延迟。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值