【问题标题】:Place element adjacent to another that is not within the same div-element将元素与不在同一个 div 元素中的另一个元素相邻放置
【发布时间】:2014-05-08 19:32:31
【问题描述】:

背景
当谈到 CSS 时,我是一个真正的绿豆(就像我一周前开始的那样),并且被分配了构建我们公司主页的任务。提醒:我在 Web 开发方面的经验为 0,当我说 0 时,我的意思是一周前我认为 CSS 是设计界面向对象编程的术语,而不是你实际编写和编码的东西。但是通过 SO/WC3/Google 学习新事物很有趣,但我遇到了一个我无法掌握的问题。

问题
我们使用 Joomla 作为开发工具包,特别是 Beez_20 模板。作为我遇到的问题的参考,我上传了一张图片here。括号显示它位于哪个css文件。我想将横幅(div.logoheader)放在菜单(ul.menu)旁边和下方,并避免它们之间的空白(这是div.header的背景) )。我已经看过几篇关于如何使用 position:relative 和 position:absolute 的帖子,但是当我将 css 代码放在单独的 css 文件中时,我无法让它工作。

反复试验
到目前为止,我所做的是进行以下更改:

  • 删除了最大宽度,以便菜单和背景延伸到整个页面
  • 把 div#line 位置:absolute;使其始终位于页面顶部
  • 将 ul.menu 位置:relative 和 top:35px left:-10px 放在 div#line 的正下方(为什么这不是 0 0 我不知道,但它是这样工作的)
  • 把div.logoheader的位置:相对;

我尝试在相对和绝对之间切换,但似乎无法正常工作。我总是在 logoheader 和 ul.menu 之间有一个空白。我看到的技巧是同时使用相对和绝对,但是当图像和元素位于不同的 css 文件中时,我不知道如何解决。

其他
我注意到如果我将 div#line 位置从绝对更改为相对,ul.menu 就会消失。 div#line 然后在 div.logoheader 的底部结束。如果我注释掉 personal.css 和 position.css 中的部分,其他元素仍然保持在相同的位置。

我认为这不是你在 CSS 中解决的问题,但你应该进入 PHP 文件,但这只是我在黑暗中刺伤。感谢您在此问题上获得的任何帮助,如果需要其他信息,请告诉我。

编辑:固定链接

【问题讨论】:

  • 图片链接失效。
  • 修复了链接,现在应该可以使用了!
  • 谢谢。好的,div.logoheader 是否有上边距,如果您在 Chrome 开发工具之类的工具中检查元素,您可能会更好地了解为什么存在空白。或者 ul-menu 有一个底部边距,这也会将 logoheader 向下推
  • div.logoheader 有以下内容: position: relative margin: 0em 0px 0px !important 在personal.css 文件中。在 position.css 文件中,它没有任何填充或边距。编辑:据我所知,ul.menu 既没有填充也没有边距。
  • 如果您真的在使用 Beez_2,可能值得花钱购买由创建 Beez_2 的 Angie Radtke 编写的关于 Joomla 模板的书。

标签: php html css joomla


【解决方案1】:

尝试保持div.logoheader 的相对位置并添加bottom: 35px;。这应该推动它。这不是最好的方法,但是如果没有看到模板的实时预览,很难给出更准确的答案。所以你的最终代码应该是这样的:

div.logoheader {
    position: relative;
    bottom: 35px;
}

您可能需要根据间距更改值35。希望这会有所帮助

【讨论】:

  • 正要说这只是将空白移动到图片下方的部分,但我不得不刷新缓存,现在它可以工作了!谢谢!
  • 我确实必须放 bottom:0px,但我不知道为什么,但是嘿,它有效 :)
  • 不幸的是,这似乎不是解决方案。如果我将 ul.menu 的位置从 35px 更改为 25px 或其他 div.logoheader 仍然保持在相同的位置。可能是什么问题?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-13
相关资源
最近更新 更多