剪切 HTML 中的边框

huangapple go评论98阅读模式
英文:

Cut borders in html

问题

我正在尝试创建一个小容器来显示一些消息,但如您在示例中所见,它在两侧被裁切了。

我的HTML和CSS如下:

.mensajes{
    position: absolute;
    max-height: 7%;
    width: 40%;
    margin-left: 12%;
    padding: 0.25%;
    z-index: 2;
    overflow: auto;
    display: grid;
    align-items: center;
    justify-items: center;
    background-color: #111111a6;
    border-radius: 0 0 5px 5px;
}

.mensaje{
    position: relative;
    width: 95%;
    padding: 5px;
    margin-top:2%;
    margin-bottom: 2%;
    height: fit-content;
    background-color: #9a9999bc;
    border-radius: 5px;
}
<div id="mapa" class="mapa">
  <div class="mensajes" id="mensajes"></div>
  <div class="coordenadas">
    <b id="latitud" style="color: blue;"></b><br>
    <b id="longitud" style="color: red;"></b>
  </div>
</div>
<script>
  msgsBox = document.getElementById("mensajes")
  mensaje = document.createElement("div")
  mensaje.classList.add("mensaje")
  mensaje.textContent= "未检测到GPS,请检查您的连接"
  mensaje.style.backgroundColor = "#FF5733B3"
  mensaje.style.color = "#E8E8E8"
  msgsBox.appendChild(mensaje)
  msgsBox.scrollTop = msgsBox.scrollHeight
</script>

在HTML中,“mapa”使用display:flex并占据屏幕左半部分。

编辑:

根据评论中的建议更新了代码,感谢大家,现在它可以正常工作。

英文:

I am trying to make a little container to show some messages but it gets cut on the sides as you can see on the example.

My HTML and CSS are this:

<!-- begin snippet: js hide: false console: true babel: false -->

<!-- language: lang-css -->

.mensajes{
    position: absolute;
    max-height: 7%;
    width: 40%;
    margin-left: 12%;
    padding: 0.25%;
    z-index: 2;
    overflow: auto;
    display: grid;
    align-items: center;
    justify-items: center;
    background-color: #111111a6;
    border-radius: 0 0 5px 5px;
}

.mensaje{
    position: relative;
    width: 95%;
    padding: 5px;
    margin-top:2%;
    margin-bottom: 2%;
    height: fit-content;
    background-color: #9a9999bc;
    border-radius: 5px;
}

<!-- language: lang-html -->

&lt;div id=&quot;mapa&quot; class=&quot;mapa&quot;&gt;
  &lt;div class=&quot;mensajes&quot; id=&quot;mensajes&quot;&gt;&lt;/div&gt;
  &lt;div class=&quot;coordenadas&quot;&gt;
    &lt;b id=&quot;latitud&quot; style=&quot;color: blue;&quot;&gt;&lt;/b&gt;&lt;br&gt;
    &lt;b id=&quot;longitud&quot; style=&quot;color: red;&quot;&gt;&lt;/b&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;script&gt;
  msgsBox = document.getElementById(&quot;mensajes&quot;)
  mensaje = document.createElement(&quot;div&quot;)
  mensaje.classList.add(&quot;mensaje&quot;)
  mensaje.textContent= &quot;No GPS detected, check your connection&quot;
  mensaje.style.backgroundColor = &quot;#FF5733B3&quot;
  mensaje.style.color = &quot;#E8E8E8&quot;
  msgsBox.appendChild(mensaje)
  msgsBox.scrollTop = msgsBox.scrollHeight
&lt;/script&gt;

<!-- end snippet -->

In the HTML "mapa" uses display:flex and ocupies the left half of the screen.

EDIT:

Updated the code to include the suggestions given in the comments, thanks to all, it works now.

答案1

得分: 0

.mensajes上使用内部填充。您总是希望在文本的左右两侧添加大约33%的额外填充,以便均匀地框定它。

.mensajes {
  width: 40%;
  margin-left: 12%;
  padding: 0.5em 1.5em; /* 添加内部填充,左右比上下多33% */
  
  display: flex;
  align-items: center;
  justify-content: center;
  
  background-color: #111111a6;
  
  border-radius: 0 10px 10px;
}

请注意,我已经在 .mensajes 类的 padding 属性中添加了内部填充的更改,使左右填充比上下填充多了33%。

英文:

Use inner padding on .mensajes. You always want to add about 33% more padding to the left and right of text compared to the top, in order to frame it evenly.

<!-- begin snippet: js hide: false console: true babel: false -->

<!-- language: lang-css -->

.mensajes 
{
  width: 40%;
  margin-left: 12%;
  padding: 0.5em;
  
  display: flex;
  align-items: center;
  justify-content: center;
  
  background-color: #111111a6;
  
  border-radius: 0 10px 10px;
}

.mensaje 
{
  width: 95%;
  padding: 6px 8px;

  background-color: maroon;
  color: #fff;
  
  border-radius: 5%;
}

<!-- language: lang-html -->

&lt;div id=&quot;mapa&quot; class=&quot;mapa&quot;&gt;
  &lt;div class=&quot;mensajes&quot; id=&quot;mensajes&quot;&gt;
    &lt;div class=&quot;mensaje&quot;&gt;
      The text goes here
    &lt;/div&gt;  
    &lt;/div&gt;
  &lt;div class=&quot;coordenadas&quot;&gt;
    &lt;b id=&quot;latitud&quot; style=&quot;color: blue;&quot;&gt;&lt;/b&gt;&lt;br&gt;
    &lt;b id=&quot;longitud&quot; style=&quot;color: red;&quot;&gt;&lt;/b&gt;
  &lt;/div&gt;
&lt;/div&gt;

<!-- end snippet -->

huangapple
  • 本文由 发表于 2023年6月8日 17:55:36
  • 转载请务必保留本文链接:https://go.coder-hub.com/76430665.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定