前端的同学们来一起开动脑筋

2015-11-06 20:09:00 +08:00
 sneezry
今天公司有一个 task ,在展示文章列表时,如果某个文章有缩略图,那么 summary 环绕缩略图排布。这是一个非常简单的问题, float:left 完美解决。但是,难点是在 summary 后面要跟着一行 post meta ,显示作者、评论数等等,没有缩略图时, post meta 直接跟着 summary 就可以了,但是,有缩略图时就会略显繁琐,分两种情况:

1 、 summary 完全包围的缩略图, post meta 还是紧跟着 summary

2 、 summary 没有完全包围缩略图, post meta 单独一行和图片底部对齐

示意图如下:



大家开动脑筋,不允许用 js ,看看如何实现。

今天下班前我憋出了一个 hack 方法,一会把整个过程写在博客里分享给大家。
4115 次点击
所在节点    程序员
53 条回复
sox
2015-11-06 20:12:04 +08:00
这个有意思,坐等菊苣们解答
emric
2015-11-06 20:27:08 +08:00
emric
2015-11-06 20:31:49 +08:00
一个手快,把 body 的属性打错了。忽略忽略。
sox
2015-11-06 20:32:19 +08:00
楼上亮了 233
sox
2015-11-06 20:34:49 +08:00
@emric 233 打错了你改了就会同步吧
sneezry
2015-11-06 20:37:50 +08:00
@emric 别闹,图的高度是不固定的
it1989
2015-11-06 20:48:59 +08:00
难道是我理解错了?
这个首页看看,是不是这样?
http://blog.isz5.com/
sneezry
2015-11-06 20:54:31 +08:00
@it1989 这样是不是更清晰些:

jarlyyn
2015-11-06 21:00:51 +08:00
不用 js 叫什么前端,叫切图的……
raincious
2015-11-06 21:02:33 +08:00
蓝色的不知道。你可能需要固定主文字的高度。

然后是否包裹的问题只是简单的 BFC 问题,大概就像是这样:

<cover layer>
<image layer style="width: 100px; float: left;" />
<content layer style="overflow: auto;">
TEXT HERE
</content layer>
</cover layer>
sox
2015-11-06 21:03:32 +08:00
@jarlyyn 你造吗 有时候大侠喜欢让你一只脚
sneezry
2015-11-06 21:04:00 +08:00
@jarlyyn 喷的好!
m939594960
2015-11-06 21:04:57 +08:00
我感觉就是一个 min-height 的属性的问题
sneezry
2015-11-06 21:06:25 +08:00
@m939594960 并不是,因为图的高度是不固定的,从高度入手应该行不通
sox
2015-11-06 21:06:28 +08:00
@raincious 你和二楼应该是一样的。。
Bijiabo
2015-11-06 21:07:51 +08:00
https://jsfiddle.net/bijiabo/pz5ebLt2/
感觉实现比较蠢。。。轻喷。。
Bijiabo
2015-11-06 21:09:06 +08:00
jarlyyn
2015-11-06 21:09:30 +08:00
另外本地测试了下,给文字部分加个 min-height 不就好了

hack 是为了不支持 min-height 的浏览器么……
Bijiabo
2015-11-06 21:10:58 +08:00
基于 sneezry 的修改,希望不要介意 @@...
raincious
2015-11-06 21:13:31 +08:00
@sox 是嘛?发帖前没看,抱歉。

其实这个问题解决方法很多,甚至拿 position absolute 都可以。关键点是只要能让 Cover 外面的层的高度扩展到和图片一样大就行了。

剩下的就是解决 meta 数据遮挡 content text 的问题了。这个无法彻底避免,但是利用 text-overflow 和 box-shadow 能够尽量让这种遮盖不是十分唐突。

当然我还是想看楼主的 Hack 哈。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/234257

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX