【问题标题】:Manipulating Text Position CSS/HTML操作文本位置 CSS/HTML
【发布时间】:2012-05-24 00:47:00
【问题描述】:

我正在构建一个垂直导航栏,无法按照我的意愿格式化图像旁边的文本。我可以使用边距操纵图像。我在我想要的地方得到了它。现在,我尝试操纵文本边距,但没有任何效果。好像是这样……

HTML:

<div class="content_nav">
  <div class="content_nav_item"><a href="#"><img src="images/icon.jpg" height="60px" width="60px" alt="One"><span class="content_nav_item_text">One</span></a></div>
  <div class="content_nav_hr">&nbsp;</div>
  <div class="content_nav_item"><a href="#"><img src="images/icon.jpg" height="60px" width="60px" alt="One"><span class="content_nav_item_text">One</span></a></div>
  <div class="content_nav_hr">&nbsp;</div>
  <div class="content_nav_item"><a href="#"><img src="images/icon.jpg" height="60px" width="60px" alt="One"><span class="content_nav_item_text">One</span></a></div>
  <div class="content_nav_hr">&nbsp;</div>
  <div class="content_nav_item"><a href="#"><img src="images/icon.jpg" height="60px" width="60px" alt="One"><span class="content_nav_item_text">One</span></a></div>
</div>

CSS:

.content_nav{
margin:45px 0px 45px 48px;
padding:0px;
width:232px;
height:467px;
background-color:#82c738;
box-shadow:inset 0px 0px 10px #578e30;
float:left;
}
.content_nav_item {
margin:0px 10px 0px 10px;
padding:0px;
height:115px;
}
.content_nav_hr {
margin:0px 10px 0px 10px;
padding:0px;
height:1px;
width:202px;
background-color:#A0DF5C;
}

.content_nav_item_text {
margin:10px 0px 10px 0px;
padding:0px;
}
.content_nav_item img {
margin:28px 10px 0px 20px;
padding:0px;
display:inline;
}

关于为什么我不能定位那个跨度有什么想法吗?

【问题讨论】:

  • 尝试更改文本的底部填充值。 ;)
  • @Depado 嗯...它水平响应填充值但不垂直响应。
  • padding-bottom 和 padding-top 属性怎么样?

标签: html css image text


【解决方案1】:

文本在 CSS 中是一种奇怪的鸟,它没有按照您的想法或想要的方式处理。 Here's a good article 解释垂直文本对齐的特性

【讨论】:

  • 我相信我遵循了这篇文章,但我没有成功。使用方法 1... 我为容器(.content_nav_item)设置了高度,并将跨度更改为 div。这符合文章中概述的要求。然后我添加了`位置:绝对;高度:18px;最高:50%;边距顶部:-9px;`。现在所有 4 个包含文本的 div 都集中在一起。此外,边距不影响位置。
【解决方案2】:

文本位于span 标记之间。该标签位于a 标签和div 标签之间。 你需要把它们分开。他们正在堆叠文本并阻止文本移动。

你需要“结束”img 标签

【讨论】:

  • 如果他想让他的图片和文字可点击怎么办(我的意思是图片和文字只有一个链接)?这将迫使他打开两个&lt;a&gt; 标签...
  • 所以你有一个不同的解决方案。例如,您可以用 div 标签将它们包围起来
  • 这正是我这样做的原因。我想打开两个a 标签会很好。
  • 将整个 div 包裹在 a 标记中不起作用(关于操纵文本位置)。
  • 我不建议对文本位置使用填充,它可以在每个浏览器中表现不同。
猜你喜欢
  • 1970-01-01
  • 2011-02-04
  • 1970-01-01
  • 2017-08-04
  • 2011-06-17
  • 1970-01-01
  • 2017-07-15
  • 2021-11-11
  • 1970-01-01
相关资源
最近更新 更多