这是一个“愚蠢”但如果不是特别需要的挑战,我敢肯定,如果可以得到答案,设计师可以在任何地方重复使用它。
我正在使用 WYSIWYG 风格的编辑器(MS Expression Web 4)并尝试生成基于 HTML 的线框,我打算将其作为实际生产的基础。由于原始/干净的 HTML 是 #1 目标,我希望有一个占位符模式,我可以指定以下 HTML(除了高度、宽度和文本会有所不同之外,别无其他),它应该显示为矩形带有“X”的框,文本(在本例中为“徽标”)出现在底部或中间,文本后面有白色背景:
<div class="placeholder" style="width: 200px; height: 50px;">Logo</div>
我的问题是实现我想要的所需的 CSS 和最少的 HTML 处理量(例如 img 标签)是什么?例如,如果改用以下 HTML:
<div class="placeholder">
<img src="placeholder-xbox.png" width="200" height="200"/>
Logo
</div>
或者
<div class="placeholder">
Logo
<img src="placeholder-xbox.png" width="200" height="200"/>
</div>
这在 HTML 方面是一个可以接受的折衷方案,但是什么是 CSS 来完成这项工作呢?
我知道我可以使用 jQuery 劫持干净的 HTML 来生成肮脏的 HTML 来实现我想要做的事情,但我在设计时需要这个。
下面这个假截图就是我要找的。我想删除一小段干净的 HTML,并可能使用 WYSIWYG 界面中的锚点来缩放占位符,而标签保持在中心底部或中心中间。
我有一个白色的图像,上面有一个黑色的 X。
我非常怀疑 CSS 是否会在不破坏 HTML 的情况下支持我想要的东西。但是,我想看看是否有人知道它是否可行。这是我开始的,这当然不起作用,因为背景图像不会缩放,文本不会垂直对齐等等,等等。
.placeholder {
display: inline;
background-image: url('placeholder-xbox.png');
border: 2px solid black;
vertical-align: bottom;
}
所以现在我必须弄清楚要做出什么妥协。我讨厌弄乱 HTML,也不介意弄乱 CSS,因为 CSS 类是可重用的。