目前我有一个最大宽度为200px的div,在div中有一些带有属性white-space的跨度:nowrap和display:inline-block。
.a {
max-width:200px;
}
.b {
display: inline-block;
white-space:nowrap;
}
<div class="a">
<span class="b">A</span> <span class="b">B</span>
<span class="b">C</span>
</div>
当前行为是当跨度A和跨度B的长度超过div的最大宽度时,跨度B被包裹到下一行。
<div class="a">
<span class="b">A</span> Empty space here
<span class="b">B</span> Empty space here
<span class="b">C</span> Empty space here
</div>
但是,div的宽度不会根据跨度的长度调整大小。它总是具有200px的宽度,这导致跨度后存在空白空间的问题。
我想要的是确保div按照跨度的长度调整大小,没有任何空白区域。
任何人都可以帮我这个吗?我不是直接要求答案。一些解释会更好。
答案 0 :(得分:1)
使用max-width
不允许div
宽于给定值(在这种情况下为200px)
使用min-width
代替max-width
可能对您有帮助......
答案 1 :(得分:1)
public void Web_Login_ShouldValidateUserAndLoginSuccessfully()
{
using (var kernel = new NSubstituteMockingKernel())
{
// Setup the dependency incjection
kernel.Load(new EntityFrameworkTestingNSubstituteModule());
// Create test request data
var request = new LogInRequest { UserName = "test", Password = "test" };
var fakeResponseHandler = new FakeResponseHandler();
fakeResponseHandler.AddFakeResponse(new Uri("http://localhost/test"), new HttpResponseMessage(HttpStatusCode.OK));
ConfigurationManager.AppSettings["SearchApiBaseUrl"] = "http://dev.loans.carfinance.com/internal";
var server = new HttpServer(new HttpConfiguration(), fakeResponseHandler);
var httpClient = new HttpClient(server);
var controller = new LoanDriverController(httpClient);
controller.CookieManager=mockOfYourCookieManager; //here you pass the instance of the mock or also you can passe it in the constructor of the controller.
Fake.SetFakeContext(controller);
var result = controller.Login(request);
Assert.IsNotNull(result);
}
你可以强迫A&amp; B就像这样在同一条线上,不是很优雅,我建议使用一个列/网格框架来更容易地控制这些类型的元素。
如果你的内容超过100px
,你可能必须决定如何处理overflow-x你可以试试flexbox(作为奖励试图为你处理额外的空白):
.a {
max-width:200px;
}
.b {
display: inline-block;
}
.c {
white-space:nowrap;
}
<div class="a">
<div class="c">
<span class="b">A</span> <span class="b">B</span>
</div>
<span class="b">C</span>
</div>
答案 2 :(得分:1)
.a {
max-width:200px;
}
#sameline {
display:inline-block;
white-space:nowrap;
}
<div class="a">
<div id=sameline>
<span class="b">A</span> Empty space here
<span class="b">B</span> Empty space here
<span class="b">C</span> Empty space here
</div>
</div>
答案 3 :(得分:1)
据我了解,您的问题似乎是display: inline-block;
上的<span>
...尝试删除此样式并使用默认值,该值应为display: inline;
... < / p>
虽然跨度以内联形式运行,但它也以块形式运行,这意味着当它的父节点上没有更多可用宽度时它会崩溃,从而产生所述空白空间。
修改
忘记提及...另外,删除white-space: nowrap;
...
答案 4 :(得分:1)
.a{
max-width:200px;
margin:5px;
display:inline-block;
white-space:nowrap;
}
<div class="a">
<span class="b">A</span> Empty space here
<span class="b">B</span> Empty space here
<span class="b">C</span> Empty space here
</div>
答案 5 :(得分:0)
在类a中,white-space默认是正常的,浏览器忽略空格, 你可以添加边框来看!