- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我创建了一个包含多个 div 容器(事件、新闻、访谈)的网站。我希望容器显示在彼此下方。为了实现这一点,我在标志类上使用了 display: flex
和 position: absolute
,但这似乎不起作用。
当我从标志中删除 position:absolute
并将其应用于 .bar 类时,元素会被拉伸(stretch)。
要以正确的高度显示彼此下方的 div,我缺少什么?
body {
margin: 0px;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
display: block;
}
.author-box::before,
.clearfix::before,
.entry::before,
.entry-content::before,
.footer-widgets::before,
.nav-primary::before,
.nav-secondary::before,
.pagination::before,
.site-container::before,
.site-footer::before,
.site-header::before,
.site-inner::before,
.wrap::before {
content: ' ';
display: table;
}
.author-box::after,
.clearfix::after,
.entry::after,
.entry-content::after,
.footer-widgets::after,
.nav-primary::after,
.nav-secondary::after,
.pagination::after,
.site-container::after,
.site-footer::after,
.site-header::after,
.site-inner::after,
.wrap::after {
clear: both;
content: ' ';
display: table;
}
body {
color: rgb(51, 51, 51);
font-family: Lato, sans-serif;
font-size: 18px;
font-weight: 300;
line-height: 1.625;
margin: 0px;
background-color: rgb(245, 245, 245);
}
.site-inner,
.wrap {
margin: 0px auto;
max-width: 1200px;
}
.site-inner {
clear: both;
padding-top: 40px;
}
.content-sidebar-sidebar .content-sidebar-wrap,
.sidebar-content-sidebar .content-sidebar-wrap,
.sidebar-sidebar-content .content-sidebar-wrap {
width: 980px;
}
.content-sidebar-sidebar .content-sidebar-wrap {
float: left;
}
.sidebar-content-sidebar .content-sidebar-wrap,
.sidebar-sidebar-content .content-sidebar-wrap {
float: right;
}
.content {
float: right;
width: 800px;
}
.content-sidebar .content,
.content-sidebar-sidebar .content,
.sidebar-content-sidebar .content {
float: left;
}
.content-sidebar-sidebar .content,
.sidebar-content-sidebar .content,
.sidebar-sidebar-content .content {
width: 580px;
}
.full-width-content .content {
width: 100%;
}
.featured-content .entry {
border-bottom-width: 2px;
border-bottom-style: solid;
border-bottom-color: rgb(245, 245, 245);
margin-bottom: 20px;
padding: 0px 0px 24px;
}
.footer-widgets .entry {
border-bottom-width: 1px;
border-bottom-style: dotted;
border-bottom-color: rgb(102, 102, 102);
}
.entry {
margin-bottom: 40px;
padding: 50px 60px;
}
.content .entry {
background-color: rgb(255, 255, 255);
}
.entry-header .entry-meta {
margin-bottom: 24px;
}
body {
margin: 0px;
background: rgb(128, 128, 128);
}
.content .entry {
border-radius: 0.3em;
box-shadow: rgb(79, 79, 79) 5px 5px 40px;
}
input[type="search"] {
padding: 5px 20px;
border-bottom-right-radius: 50px;
border-top-left-radius: 50px;
border: 1px solid rgb(76, 76, 76);
width: 250px;
background-color: rgb(103, 102, 102);
}
.content {
width: 680px;
}
.site-inner,
.wrap {
max-width: 1035px;
padding-top: 0px;
}
.entry {
padding: 30px 40px;
}
.entry-header {
margin: -30px -40px;
position: relative;
}
.entry-header .entry-title a {
position: absolute;
color: rgb(255, 255, 255);
padding: 6px 40px;
bottom: 12%;
left: 0px;
right: 0px;
font-size: 0.63em;
background: rgba(0, 0, 0, 0.701961);
}
.entry-header .entry-meta {
position: absolute;
color: rgb(255, 255, 255);
padding: 5px;
top: 9px;
right: 0px;
font-size: 0.7em;
font-style: italic;
background: rgba(0, 0, 0, 0.701961);
}
.entry-header .entry-title {
margin-left: 40px;
}
.attachment-post-thumbnail {
border-radius: 0.3em 0.3em 0px 0px;
}
.flag {
font-size: 0.7em;
font-weight: 700;
padding: 3px 15px;
color: rgb(255, 255, 255);
border-radius: 0.4em 0px 0px 0.4em;
margin: 10px 0px 0px -10px;
white-space: nowrap;
background-color: rgb(255, 51, 153);
}
.flag::after {
content: ' ';
position: absolute;
left: 2px;
top: 100%;
border-width: 4px;
border-style: solid;
border-color: rgb(176, 0, 127) rgb(176, 0, 127) transparent transparent;
}
.flag::before {
content: ' ';
position: absolute;
top: 0px;
border-width: 26px 26px 0px 0px;
border-style: solid;
border-color: rgb(255, 51, 153) transparent transparent;
right: -26px;
}
.flag-category {
background-color: rgb(0, 176, 176);
}
.bar {
display: flex;
position: absolute;
}
.entry-header .bar {
width: 680px; height: 220px; background: url(http://nintendo-online.de/img/bg-game-header-cover.png); }
.flag-category: : before {
right: -26px;
border-style: solid;
border-color: rgb(0, 176, 176) transparent transparent;
}
.flag-category::after {
border-width: 0px 0px 27px 27px;
border-color: transparent transparent rgb(0, 176, 176);
top: 0px;
left: -24px;
}
.bd.entry {
padding-bottom: 10px;
border-radius: 0.5em;
border-style: solid;
border-color: rgb(0, 197, 160);
}
.margt10.flag {
margin: -33px -53px;
text-transform: lowercase;
}
<html>
<body class="single single-post">
<div class="site-container">
<div class="site-inner">
<div class="content-sidebar-wrap">
<main class="content">
<article class="post type-post entry" itemscope="itemscope">
<header class="entry-header">
<div class="bar">
<div class="flag flag-category">Events</div>
<div class="flag flag-category">News</div>
<div class="flag flag-category">Interviews</div>
</div>
<img width="680" height="220" src="https://vocaloid.de/wp-content/uploads/2015/02/KAITO-6th-anniversary-2015-Project-DIVA-Arcade-680x220.jpg" class="attachment-post-thumbnail">
</header>
</article>
</main>
</div>
</div>
</div>
</body>
</html>
最佳答案
您的问题是 ::before
和 ::after
元素被绝对定位,这使它们脱离了正常流程。向 .flag
元素添加一些边距以进行补偿,或者查看使用 justify-content:space-between;
.flag {
position: relative;
font-size: .7em;
font-weight: 700;
padding: 3px 15px;
color: #FFF;
background-color: #f39;
border-radius: .4em 0 0 .4em;
margin: 10px 40px 0 -10px;
white-space: nowrap;
}
.flag:after {
content: ' ';
position: absolute;
left: 2px;
top: 100%;
border-width: 4px;
border-style: solid;
border-color: #B0007F #B0007F transparent transparent;
}
.flag:before {
content: ' ';
position: absolute;
top: 0;
border-width: 26px 26px 0 0;
border-style: solid;
border-color: #F39 transparent transparent;
right: -26px;
}
.flag-category {
background-color: #00b0b0;
}
.bar {
display: flex;
position: absolute;
flex-direction: row;
align-items: flex-start;
/*justify-content:space-between;*/
}
.entry-header .bar {
background: url(http://pexetothemes.com/demos/photolux_wp/wp-content/themes/photolux/images/bg.png);
width: 680px;
height: 220px;
background: url(http://nintendo-online.de/img/bg-game-header-cover.png);
}
.flag-category: before {
right: -26px;
border-style: solid;
border-color: #00b0b0 transparent transparent;
}
.flag-category:after {
border-width: 0 0 27px 27px;
border-color: transparent transparent #00b0b0;
top: 0;
left: -24px;
}
.flag-category2 {
background-color: #00b0b0;
}
.flag-category2:before {
border-color: #00b0b0 transparent transparent;
}
.flag-category2:after {
border-width: 4px;
border-color: #005357 #005357 transparent transparent;
}
<html>
<body class="single single-post">
<div class="site-container">
<div class="site-inner">
<div class="content-sidebar-wrap">
<main class="content">
<article class="post type-post entry" itemscope="itemscope">
<header class="entry-header">
<div class="bar">
<div class="flag flag-category">Events</div>
<div class="flag flag-category">News</div>
<div class="flag flag-category">Interviews</div>
</div>
<img width="680" height="220" src="https://vocaloid.de/wp-content/uploads/2015/02/KAITO-6th-anniversary-2015-Project-DIVA-Arcade-680x220.jpg" class="attachment-post-thumbnail">
</header>
</article>
</main>
</div>
</div>
</div>
</body>
</html>
关于CSS: flex 元素相互重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30204918/
在开发中的网页上,我在 IE 上遇到此错误 element = $(element); 此代码位于prototype.js 预期对象 如何消除此错误。 更新: 现场也使用了 jQuery。 最佳答
我有两个大小相同的嵌套数组: Array1 =[[1, 2], [], [2, 3]] Array2= [[1, 4], [8, 11], [3, 6]] 我需要将它们合并到一个数组中,如下所示: A
我有一些 jQuery 代码,当单击具有特定 ID 的项目时运行。当 ID 是 的一部分时,它就可以工作。元素,但当它位于 中时则不然元素。为什么会这样呢?我想使用 an,因为如果用户关闭了 Ja
Flex-box 规范 3声明 flex 元素不是 block 容器: A flex item establishes a new formatting context for its content
我遇到了一个意想不到的问题。 HTML JS $(function() { var $divs = $('.myDiv'); // create new div not in
我使用 Bootstrap 和 Ember.js 得到了一个无序列表。每个列表项都是一个显示新帖子的链接,每当您单击该链接时,Ember 都会添加类 active默认情况下。我正在使用 Bootstr
我正在尝试让一个函数正常工作,但运气不佳,所以我想向 Stackoverflow 智囊团提出一个新手问题! 基本上,我有一个表单,并且循环遍历所有元素以查看是否存在自定义数据属性。如果存在,则保持该元
我想映射一个可选数组,删除那些 nil 值,并使用另一个函数映射非 nil 值。 我知道我可以通过使用 compactMap 然后使用常规 map 来实现这一点,但我只想遍历数组一次。 我为此实现了一
我如何定位 li 元素,除非它们出现在 之后元素?换句话说,我想针对步骤而不是注释。 我尝试向 OL 添加一个我想从选择中排除的类,但我想出的代码不起作用。 (顺便说一句,重构 html 不是一种选
Warning 1 The element 'system.webServer' has invalid child element 'rewrite'. List of possible eleme
我正在尝试编写一个脚本,该脚本将遍历 HTML 源并创建 DOM 的 JSON 文件,然后使用 d3.js 在 TreeView 中显示该文件。我遇到的问题是不仅希望显示元素(TITLE、P、LI 等
我有以下 HTML 表单:- Option 1 Option 2
我试图在选定的 HTML 元素之后选择下一个具有类名 slider-value 的 span 元素。我尝试了多种解决方案,但没有一个有效。 我可以通过 id 选择它,但我不希望那样做使代码冗余。 $(
如果电子邮件地址无效,我想在屏幕上显示一条消息“请输入有效的电子邮件地址”。 body 元素的innerHTML 语句工作正常,但我用于p 元素的innerHTML 语句不起作用。 有一次,当我测试它
以下 jQuery 代码调用 ul 元素,查找元素内的前 三个 li 列表项,并隐藏剩余的 li 项目。然后,它附加一个 li 元素,其中显示“显示更多...”,并且在单击时显示之前隐藏的列表项。 (
我问了a question早些时候关于将编辑/删除链接与 h1 元素内联的最佳方法。我能够通过给出的答案实现这一点,但我现在有额外的要求,我需要在 h1 下方显示一个段落并编辑/删除链接。 到目前为止
我使用 MVC 4 和 knockout.js 库版本 2.1.0 显示从服务器检索到的大量文件的表中的以下摘录。 0)"> 正在正确检索数据,
我创建了一个脚本,该脚本在鼠标悬停在父容器上时激活,并且应该将其子元素移离鼠标。我目前已经让它工作了,但是代码的某些部分似乎与 REACT 代码应该是什么样子相矛盾。特别是两个部分。 我在渲染函数中使
我是 JS 新手,正在尝试理解项目 https://github.com/tastejs/todomvc 的代码 请参阅屏幕截图,我尝试对 button X 以及其父元素 div 设置断点,但在这两种
例如,假设有一个带有奇特颜色的标记: Something written here 使用 Visual Studio 2017 和 MVC 5 元素,有没有办法检查和定位当前应用了哪些样式,以及负责它
我是一名优秀的程序员,十分优秀!