跨度不适合另一个跨度

时间:2019-09-30 17:28:29

标签: html css

我尝试使跨度适合另一个跨度,但是由于某种原因,它不起作用。

我已经尝试过Microphone monitoringprivate String packageName; private String appName;

JSFiddle

String packageName;
for(ResolveInfo resolveInfo : resolveInfosAppDrawer){
        String packageName = resolveInfo.activityInfo.packageName;
        if(listHide.contains(new AppHide(resolveInfo.activityInfo.packageName))){
            Toast.makeText(context, "HIDE IT", Toast.LENGTH_SHORT).show();
        }else{

        }
        appDrawerList.add(new AppDrawer(resolveInfo.activityInfo.packageName, (String) resolveInfo.loadLabel(context.getPackageManager())));
    }

期望:

绿色背景的跨度内容应在浅灰色框中。

输出:

绿色背景的跨度内容不在任何框内。

3 个答案:

答案 0 :(得分:0)

您可以尝试添加float:left;吗?到#preview跨度和#cont跨度。向左浮动会迫使两个元素停留在左侧。

#preview, #cont{
  float:left;
}

我更新了你的小提琴。在这里尝试小提琴: https://jsfiddle.net/edy0whkp/

答案 1 :(得分:0)

您似乎正在尝试将#preview#cont并排放置在#midbox中。如果是这种情况,只需设置#midbox {display: flex;}

body {
  margin: 0;
  background-color: #f0f0f0;
}

#midbox {
  display: flex;
  position: absolute;
  width: 90%;
  height: 85%;
  top:0; right:0; bottom:0; left:0;
  margin:auto;
  background-color: #7d7c7d;
  box-shadow: 0px 0px 5px 1px rgba(0, 0, 0, 0.75);
}

#preview {
  display: block;
  position: relative;
  width: 35%;
  background-color: #525052;
  box-shadow: 0px 0px 5px 1px rgba(0, 0, 0, 0.75);
}

#preview p {
  margin: 0;
  padding-top: 3%;
  font-size: 2em;
  opacity: 0.7;
  color: #f0f0f0;
  font-family: 'Lato', sans-serif;
  text-align: center;
}

#cont {
  display: block;
  position: relative;
  width: 35%;
  background-color: green;
  box-shadow: 0px 0px 5px 1px rgba(0, 0, 0, 0.75);
}
<span id="midbox">
  <span id="preview">
    <p>Preview</p>
  </span>
  <span id="cont">
    <p>Why does this apper under the box and not on the left?</p>
  </span>
</span>

如果您想了解flexbox,请在https://css-tricks.com/snippets/css/a-guide-to-flexbox/

上发表一篇精彩的文章

答案 2 :(得分:0)

简短回答

您正在将display: block设置为您的span元素。这会将它们变成从新行开始的块元素,并且它们会扩展其父容器的大小。将显示更改为dispay: inline-block将导致元素开始新行,并且仅占用所需的空间。

https://jsfiddle.net/xypntkc0/

更多详细信息

在JSFiddle中,我将父元素更改为div。将其设置为div使其成为一个块组件,因此当它为div时也不需要display: block。不好的做法是将块元素放在内联元素内(您将span标签作为span标签的子标签),因此我实际上会将所有span标签更改为divs

我还在父组件上将位置更改为position: relative。通常,您只想将absolute设置为具有position: relative的父组件内部的子元素。将父级设置为相对父级,以便其绝对定位的子级相对于父级定位 relative

更多细节

如果要在容器中将元素彼此相邻对齐,则使用flexbox是一个很好的工具。您可以将display: flex设置为父元素,以将其标记为flex容器。然后,子代将自动设置为弹性项目,并将并排渲染和渲染。 https://jsfiddle.net/vkru8wg7/