不确定这是否可行,我的要求是这样的-我有一个包含三个div的网页,这些网页被包装在另一个具有display:flex的主div内,以便所有三个div可以彼此相邻显示。现在的问题是,在中间div中,我正在从本身包含DIV的数据库中提取一些数据。 div可能无法正确关闭,即:少数可能无法使用/ div关闭。因此,当数据出现在中间div上时,第三个div有时会超出弹性框,从而导致布局出现问题。有什么可能的方法来避免这种情况?希望我能解释我的问题。
答案 0 :(得分:1)
通常,在未正确清理用户生成的内容以帮助防止诸如XSS之类的安全漏洞的情况下,我们绝不会将用户生成的内容注入到页面中。请研究HTML防护措施,并确保您正在安全地处理此用户生成的内容。
话虽如此,浏览器还是可以宽恕格式不正确的标记,并会尽力呈现您提供给他们的内容。因此,为防止该用户生成的内容弄乱您的页面,您将需要将这些文档与页面的其余部分隔离。
您可以将它作为srcdoc提供给iframe,而不是直接在页面中删除此用户生成的html:
<ItemModel>
<ACrush>+0</ACrush>
<AMagic>-5</AMagic>
<ARange>-2</ARange>
<ASlash>+0</ASlash>
<AStab>+0</AStab>
<DCrush>+43</DCrush>
<DMagic>-3</DMagic>
<DRange>+48</DRange>
<DSlash>+49</DSlash>
<DStab>+47</DStab>
<Icon>
https://vignette.wikia.nocookie.net/2007scape/images/a/a0/3rd_age_full_helmet.png/revision/latest?cb=20141217224936
</Icon>
<MagicDamage>+0%</MagicDamage>
<MeleeStrength>+0</MeleeStrength>
<Name>3rd age full helmet</Name>
<Prayer>+0</Prayer>
<RangedStrength>+0</RangedStrength>
<Slayer>0</Slayer>
<Undead>0</Undead>
</ItemModel>