为什么div显示属性var http = require('http');
var getUrl = 'http://api.openweathermap.org/data/2.5/weather?q=London,uk&appid=1111111111';
var request = http.get(getUrl, function(response) {
var jsonData = '';
response.on('error', function(e) {
console.log("Got error: " + e.message);
});
response.setEncoding('utf8');
response.on('data', function (chunk) {
jsonData += chunk;
});
response.on('end', function () {
console.log(jsonData);
});
});
request.end();
将段落移动到左侧,该段落由inline-block
居中而没有显示属性。
margin:0 auto
.content
{
padding: 20px;
margin: 0 auto;
display: inline-block;
width: 900px;
height: 2000px;
}
是div的类id,里面有一些段落。
当我添加content
时,段落移动到左侧。为什么会这样?
答案 0 :(得分:2)
DIV为 display:block
(块级元素)具有占据整个页面宽度的特征/行为。因此,当您为margin-left和margin-right指定 auto 时,它会在两侧自动占用可用空间。因此元素将根据其父元素的宽度居中。
将DIV的显示属性更改为display:inline-block
时。它占据了两个世界中最好的(块和内联),即,你可以使用明确的边距,像块元素一样填充它可以像任何内联元素一样遵循普通的HTML布局流,例如span或anchor。
因此,当您对内嵌块说自动时,内联块的默认自动行为是遵循正常流程文件(即0px)。
自动的官方定义:
自动边距
根据具体情况,提供自动值会指示浏览器根据值渲染边距 在自己的样式表中提供。但是,当应用这样的保证金时 对于具有有意义宽度的元素,会导致自动边距 所有可用空间都要呈现为空格。
答案 1 :(得分:1)
在其父div上使用text-align: center
将div设为display:inline-block
。正如@David Chelliah所说,display: inline-block
使它像一个内联元素。