Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 如何制作<;部门>;内联的?全部<;部门>;,即使它们的总宽度大于它们的父对象的宽度?_Css_Html_Inline - Fatal编程技术网

Css 如何制作<;部门>;内联的?全部<;部门>;,即使它们的总宽度大于它们的父对象的宽度?

Css 如何制作<;部门>;内联的?全部<;部门>;,即使它们的总宽度大于它们的父对象的宽度?,css,html,inline,Css,Html,Inline,我需要使以内联方式显示,并使用其父级的“overflow:hidden”隐藏它们 使用“框大小”属性将的宽度设置为20%,因此它们正好是其父宽度的20% 通常使用“float:left”的方法没有帮助,因为它只会使5个显示在一行中,其余的显示在前5个下的新行中 如何使用“溢出:隐藏”使所有以内联方式显示,如果它们太宽而无法显示在其父级内部,则隐藏其余部分 我的文件结构如下: <body> <div class="column"> <div class="he

我需要使
以内联方式显示,并使用其父级的“overflow:hidden”隐藏它们

使用“框大小”属性将
的宽度设置为20%,因此它们正好是其父宽度的20%

通常使用“float:left”的方法没有帮助,因为它只会使5个
显示在一行中,其余的显示在前5个
下的新行中

如何使用“溢出:隐藏”使所有
以内联方式显示,如果它们太宽而无法显示在其父级内部,则隐藏其余部分

我的文件结构如下:

<body>
<div class="column">
    <div class="header">Some text</div>

    <ul class="item_list">
        <li class="simple"><a href="">Some text<br></a></li>
        <li class="simple"><a href="">Some text<br></a></li>
        <li class="simple"><a href="">Some text<br></a></li>
        ...
    </ul> 
</div> 

一些文本
  • ...


你明白我的意思了。但是我使用javascript(设置为“位置:绝对”,并为每个元素生成“左边距”),这给未来的开发带来了很大的问题。

如果
div
元素是
显示:内联的
,那么应用
空白:nowrap到父元素将阻止它们换行。

演示:

结合使用
display:inline block
white space:nowrap

<div class="wrapper">
    <div class="inline"></div>
    <div class="inline"></div>
    <div class="inline"></div>
</div>
该演示包含一个小jQuery动画来说明效果:


演示:

既然您有已知数量的div,您是否尝试过使用绝对定位而不是浮点数,并指定left:20%left:40%等等?

如果您将容器
div
的高度设置为一个固定值,并为所有内部元素
显示:inline block
,这应该可以奏效<代码>内联块
将使每个元素向左对齐,但保留其尺寸,而固定高度容器将隐藏溢出到新行的任何元素。

这将在允许良好代码格式的情况下,通过删除元素之间的空白来实现您想要的功能。容器获取字体大小:0px ftw

加价

<div class="wrapper">
    <div class="inline">Some text </div>
    <div class="inline">Some sample text </div>
    <div class="inline">Some Other text </div>
</div>

您是否尝试过
显示:内联
清除:无
?当然,但我需要元素的固定宽度(20%),内联元素的宽度取决于它们的内容。是的,我的问题到此结束),我不知道,它们是由服务器使用数据库生成的。请记住,
display:inline block
在IE 6中不受支持,在IE 7中不完全受支持。在我的测试中,
display:inline
在divs上不提供所需的效果:谢谢
inlineblock
nowrap
非常有效,但是如何删除元素之间出现的空白?我发现的唯一方法是在一行中编写代码:这是标记中空白的一个因素,解决方案是删除元素之间的任何空白:我知道这很旧:我在下面根据您的空白问题添加了一个答案。代码在注释中显示不好。
<div class="wrapper">
    <div class="inline">Some text </div>
    <div class="inline">Some sample text </div>
    <div class="inline">Some Other text </div>
</div>
div.wrapper {
    width: 250px; /* or whatever */
    overflow: hidden;
    white-space: nowrap;
    border: 1px solid red;
    font-size:0px;
}

div.inline {
    display: inline-block;
    width: 80px;
    height: 20px;
    background-color: black;
    color:white;
    margin: 0; padding: 0;
    border: 1px solid blue;
    font-size:12px;
}