昨晚改代码改到凌晨两点,眼睛都快瞎了。就为了那个该死的友情链接。
你是不是也遇到过这种情况?明明设计稿上写得清清楚楚,logo要整齐划一,结果一上线,有的大得像脸盆,有的小得像蚂蚁。整个底部乱成一锅粥,看着就心烦。
很多新手站长,包括当年的我,总想着用CSS去强行约束。设置width,设置height,结果呢?图片变形,拉伸,丑得没法看。
今天不整那些虚头巴脑的理论。直接说怎么解决dede 友情链接logo 固定高度这个头疼的问题。
我试过无数种方法,最后发现,最笨的方法往往最有效。
首先,你得承认一个事实。织梦DedeCMS自带的友情链接标签{dede:flink/},默认输出的是纯文本或者简单的图片链接。它不管你的图片比例,也不管你的容器大小。
你如果直接写死高度,比如height:50px。那图片一旦超过50px,要么被裁切,要么被压缩。
这就好比你要穿进一件小一号的衣服,勒得慌不说,还容易崩开线。
我的建议是,别跟浏览器较劲,要跟图片本身较劲。
第一步,统一图片源。
这是最关键的。别指望代码能自动把一张400x400的图变成100x100还保持清晰。
去你的服务器后台,或者本地文件夹里,把所有友情链接的logo图片,全部用PS或者在线工具处理一遍。
尺寸统一改成120x60像素。格式统一用PNG,背景透明。
这一步虽然麻烦,但一劳永逸。你想想,如果源头都是统一的,后面CSS怎么写都顺手。
别偷懒,这一步省了,后面你得花十倍的时间去调CSS。
第二步,修改模板文件。
打开你的footer.htm或者包含友情链接的那个公共模板文件。
找到{dede:flink type='image' row='24'/}这段代码。
注意,一定要加type='image'。不然出来的就是文字链接,根本没法控制logo。
然后,给这个标签外面套一个div,或者ul li结构。
比如:
{dede:flink type='image' row='24'/}
接下来写CSS。
.link-box img {
max-width: 120px;
max-height: 60px;
margin: 10px;
display: inline-block;
vertical-align: middle;
}
这里有个坑。很多人喜欢用width和height写死。
千万别这么干。
用max-width和max-height。
这样即使你某张图稍微大一点点,或者小一点点,它也能自适应容器,不会变形。
这就是所谓的“弹性布局”思维。
第三步,解决高度不一致导致的行高问题。
有时候,图片虽然尺寸统一了,但因为图片本身有透明背景或者边框,导致视觉上看起来高度不一样。
这时候,给img加一个line-height或者padding。
或者更狠一点,给每个li加一个固定的高度,比如80px,然后让图片居中。
li {
height: 80px;
line-height: 80px;
text-align: center;
float: left;
width: 140px;
}
img {
vertical-align: middle;
max-height: 60px;
}
这样,不管图片多高,它都会乖乖待在80px的盒子里。
这就是解决dede 友情链接logo 固定高度问题的核心逻辑。
不是强行固定图片,而是固定容器。
我见过太多站长,在这里纠结半天。
其实,核心就两点:图片预处理,容器规范化。
如果你还觉得麻烦,不想自己写代码。
那就用JS。
加载完页面后,遍历所有img,计算它们的宽高比,然后动态设置CSS。
但这属于后妈养的孩子,加载慢,体验差。
还是推荐上面的CSS方案。
稳定,快速,兼容性好。
最后说句心里话。
网站细节决定成败。
友情链接虽然不起眼,但它是你网站权重的传递者,也是你审美的体现。
一个乱糟糟的底部,会让访客觉得你这个网站不专业。
哪怕内容再好,这种第一印象的崩塌,很难挽回。
所以,花半小时,把dede 友情链接logo 固定高度这个问题解决掉。
你会发现,世界清静了,网站也漂亮了。
别等用户吐槽了,才想起来改。
那时候,黄花菜都凉了。
赶紧去改吧。
有问题评论区见,别私信,私信不回。
一起交流,一起进步。
这才是做网站该有的样子。
不装,不端,只讲干货。
希望能帮到你。
如果这篇内容对你有用,点个赞再走呗。
谢谢。