简体   繁体   English

如何修复:CSS / HTML中的文本溢出DIV?

[英]How to fix: Text overflowing DIV in CSS/HTML?

I have a DIV (.main) that contains a background-image. 我有一个包含背景图像的DIV(.main)。 A TOS text overlays the background image. TOS文本覆盖背景图像。 Everything is fine when the browsers window is extended, but once I shrink it too much down, the text from TOS overflow the image. 当浏览器窗口被扩展时,一切都很好,但是一旦我将其缩小太多,TOS中的文本就会溢出图像。

You can see the problem LIVE by going on my website and resizing the window. 您可以通过访问我的网站并调整窗口大小来查看问题。 https://royalkingdom.net/store/ https://royalkingdom.net/store/

I've already tried to play with the padding, margins, max-height and max-width. 我已经尝试过填充,边距,最大高度和最大宽度。

/* Main column */
.main {
  flex:60%;
  height:940px;
  margin-bottom:10vh;
  padding-right:8%;
}
#bgimg {
 position: relative;
 height:100%;
 width:100%;
 background-image: url("https://i.imgur.com/NPhmcae.png");
 background-size: 100%;
 background-repeat: no-repeat;
 background-position:center top; ;
 display: block;
 padding-top:13%;
 padding-right:10%;
 padding-left:10%;
 padding-bottom:13%;

}
.panel-body {
  text-align:justify;
  padding:1px;
  width: auto;
  max-height: 100%;
  display: inline-block;

}

I expect to have the text to fit the image size. 我希望文本符合图像大小。 Even when I resize my browser window. 即使我调整浏览器窗口的大小。 It is fine if it needs to have a scrollbar (when the window size is too small) 如果它需要一个滚动条(当窗口尺寸太小时)它很好

Please try code - 请尝试代码 -

.panel-body {
    text-align: justify;
    padding: 1px;
    width: auto;
    max-height: 75vh;
    display: inline-block;
    overflow-y: scroll;
}

I think what you need to add is background-size: 100% 100%; 我认为你需要添加的是background-size: 100% 100%;

Check out this JSFiddle that I set up to mimic your div. 看看我设置的模仿你的div的JSFiddle That second 100% forces the image to be the full width of the div, as the image was not expanding with the height of the div. 第二个100%强制图像为div的整个宽度,因为图像没有随着div的高度而扩展。 If you take away that second 100% in the JSFiddle you will see that the red border still expands but the image does not. 如果你在JSFiddle中拿走第二个100%,你会发现红色边框仍然会扩展,但图像却没有。

 #div2{ background-image:url(https://i.imgur.com/NPhmcae.png); background-size: 100% 100%; background-repeat: no-repeat; background-position:center top; display: block; padding-top:13%; padding-right:10%; padding-left:10%; padding-bottom:13%; height:auto; width:auto; border: 1px solid red; } 
 <div id="div2"> <p> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. A iaculis at erat pellentesque adipiscing commodo elit. Quam elementum pulvinar etiam non. Imperdiet dui accumsan sit amet nulla facilisi. Tempus imperdiet nulla malesuada pellentesque elit. </p> <p> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. A iaculis at erat pellentesque adipiscing commodo elit. Quam elementum pulvinar etiam non. Imperdiet dui accumsan sit amet nulla facilisi. Tempus imperdiet nulla malesuada pellentesque elit. </p> <p> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. A iaculis at erat pellentesque adipiscing commodo elit. Quam elementum pulvinar etiam non. Imperdiet dui accumsan sit amet nulla facilisi. Tempus imperdiet nulla malesuada pellentesque elit. </p> <p> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. A iaculis at erat pellentesque adipiscing commodo elit. Quam elementum pulvinar etiam non. Imperdiet dui accumsan sit amet nulla facilisi. Tempus imperdiet nulla malesuada pellentesque elit. </p> <p> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. A iaculis at erat pellentesque adipiscing commodo elit. Quam elementum pulvinar etiam non. Imperdiet dui accumsan sit amet nulla facilisi. Tempus imperdiet nulla malesuada pellentesque elit. </p> <p> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. A iaculis at erat pellentesque adipiscing commodo elit. Quam elementum pulvinar etiam non. Imperdiet dui accumsan sit amet nulla facilisi. Tempus imperdiet nulla malesuada pellentesque elit. </p> <p> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. A iaculis at erat pellentesque adipiscing commodo elit. Quam elementum pulvinar etiam non. Imperdiet dui accumsan sit amet nulla facilisi. Tempus imperdiet nulla malesuada pellentesque elit. </p> <p> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. A iaculis at erat pellentesque adipiscing commodo elit. Quam elementum pulvinar etiam non. Imperdiet dui accumsan sit amet nulla facilisi. Tempus imperdiet nulla malesuada pellentesque elit. </p> </div> 

One problem you might encounter is if you have too much/too little text the image will be greatly distorted. 您可能遇到的一个问题是,如果文本太多/太少,图像将会大大扭曲。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM