【发布时间】:2015-11-04 09:48:58
【问题描述】:
我遇到了一个 CSS/HTML 问题,
我有一个固定大小的 div,我想在其中有一个文本(在图像的顶部或底部)和一个图像。
必须遵守图像比例,并且事先不知道图像的宽度和高度。
我尝试了很多东西,最好的结果是文本,我的图像保留了比例,但是图像被裁剪了。
这是我的问题的一个说明:
HTML 结构:
主分区:
包含文本的 div:
img 元素(我们可以看到图片被裁剪了):
图片被裁剪,因为它占用了父div的宽度,但是文本div也被父div包含,所以它占据了一些地方......
编辑:只是为了精确一些:我使用 javascript 动态添加这些元素,所以当我设置大小时,div 和图像还没有在 DOM 中(所以我无法获取文本 div 大小来计算 img 大小) .
解决办法是什么?
谢谢:)
编辑 2:
我想要什么:
编辑 3:生成 div 的 javascript 代码:
this.m_cellElem = document.createElement('div');
this.m_cellElem.style.width = width + "px";
this.m_cellElem.style.height = height + "px";
var text = document.createElement('div');
text.style.width = width + "px";
text.style.textAlign = "center";
text.innerHTML = this.m_name;
this.m_imgElem = document.createElement('img');
this.m_imgElem.id = "viewImg-" + this.m_viewUniqueId;
this.m_imgElem.setAttribute('src', 'data:image/png;base64,' + this.m_poster);
this.m_imgElem.style.maxWidth = "100%";
this.m_imgElem.style.maxHeight = "100%";
this.m_cellElem.appendChild(text);
this.m_cellElem.appendChild(this.m_imgElem);
【问题讨论】:
-
希望您至少尝试自己编写代码。 Stack Overflow 不是代码编写服务。我建议你做一些额外的研究,无论是通过谷歌还是通过搜索,尝试一下。如果您仍然遇到问题,请返回您的代码并解释您尝试过的方法以及为什么它不起作用。
-
我尝试了很多 CSS/HTML 组合来做到这一点,这是我最好的结果。没有很多代码要写,我认为这是一个简单的 CSS 解决方案,但我不是网络开发人员,即使使用谷歌搜索,我也没有找到任何解决方案。
-
如果你 edit 你的问题包括你的代码,那将是最有帮助的。
-
我的代码只设置了主div的宽度和高度,文本div的宽度和文本对齐以及img的最大宽度和最大高度,正如我们在HTML结构中看到的那样。但如果有帮助,我会添加这些代码行。
标签: javascript jquery html css image