Ahmad Shadeed 再次凭借 “防御性 CSS”。 这个想法是,您应该编写 CSS 以准备好应对动态内容引起的问题。
项目数量超出您的预期?没问题,该区域可以扩展或滚动。标题太长?没问题,它要么换行要么截断,并且不会碰到任何奇怪的东西,因为边距或间隙已设置好。图像以意外的大小出现?不用担心,布局旨在确保专用区域填充图像,并将相应地处理大小/裁剪。
成为一名优秀的 CSS 开发人员而又不进行防御性编码是不可能的。这就是成为 CSS 开发人员的意义所在,尤其是在您考虑渐进增强概念和跨浏览器/设备未知因素时。
一位优秀的平面设计师本应该已经提供了所有可能的情景,并提供视觉参考供开发使用。当然,如果平面设计师不可用,那么这可能会落到开发人员身上,但理想情况下,这些应该是开发人员不应该盲目做出的决策。
我部分同意。拥有一个非常了解所有这些可能性并将它们设计到模型中的平面设计师非常棒。但是有很多边缘情况,我想说这并不是前端开发人员的工作,仅仅是一个机械地完全解释模型并不会为这些情况而思考的人。我几乎宁愿设计师不要花费太多时间来设计每种可能的防御状态,将其留给我,然后在我们将其作为交互式原型审查后进行讨论。
不过,这个评论中有很多“应该”。我很乐意遇到一位在设计中考虑内容条件所有可能性的平面设计师——实际上,我得到的是一个组织糟糕的 Sketch 文件中的 Lorem Ipsum 和未优化的资产。
我认为,对于开发人员来说,至少拥有一个处理意外动态内容的技术工具包是值得的,即使 设计师正在做所有正确的事情并提供那个 43 字、300 字符的标题。
实际上,无论设计师多么出色地预测需求,开发人员多么出色地进行防御性实现,我们都无法防止不良利用。
就像解决可访问性的一部分是致力于简明语言(这在内容阶段完成)一样,网站“设计”的很大一部分是在基础设施构建完成后进行的。内容创建者和内容设计师需要做出好的选择。
很难甚至不可能为图像大小编写代码,并猜测图像中内容的焦点在哪里。内容人员需要知道图像的主要价值在哪里,并使用合适的图像,或使用智能边框/填充来调整图像。
网站的外观与决定网站上显示什么内容的人一样多,也与设计和构建其结构的人一样多。