div中套一个居中的div 不使用flex布局
时间: 2023-10-20 18:05:47 浏览: 89
可以使用以下代码实现:
```html
<div style="text-align: center;">
<div style="display: inline-block;">
<!-- 内容 -->
</div>
</div>
```
第一个 `div` 通过设置 `text-align: center;` 实现水平居中,第二个 `div` 通过设置 `display: inline-block;` 实现垂直居中。需要注意的是,如果内部内容高度超过父元素高度,仍然会溢出。
相关问题
一个居中的div 不使用flex定位和绝对定位
可以使用以下方法:
1. 使用margin: 0 auto;来实现水平居中,同时为该div设置一个固定宽度。
2. 使用display: table;来实现水平和垂直居中,同时为该div设置display: table-cell;和vertical-align: middle;。
3. 使用text-align: center;和line-height: height;来实现垂直居中,同时为该div设置height属性。
示例代码如下:
方法1:
<div style="width: 200px; margin: 0 auto;">居中的div</div>
方法2:
<div style="display: table; height: 200px;">
<div style="display: table-cell; vertical-align: middle;">居中的div</div>
</div>
方法3:
<div style="height: 200px; text-align: center; line-height: 200px;">居中的div</div>
js使用flex布局实现div中的两个div按照两个居中展示
在JavaScript中,通常我们不会直接使用JS来控制CSS样式,而是通过HTML和CSS结合实现布局效果。但是,如果你想要使用纯粹的JavaScript来操作DOM元素来达到类似的效果,可以这样做:
首先,你需要在HTML中创建两个`div`元素,并且给它们都添加`display: flex; justify-content: center; align-items: center;`的样式:
```html
<div id="parentContainer" style="display: flex; justify-content: center; align-items: center;">
<div class="childOne">Div 1</div>
<div class="childTwo">Div 2</div>
</div>
```
然后,你可以用JavaScript来获取这两个子元素并设置它们的位置:
```javascript
// 获取两个子元素
const childOne = document.querySelector('.childOne');
const childTwo = document.querySelector('.childTwo');
// 设置宽度和高度,这里假设都是自动大小
childOne.style.width = 'auto';
childOne.style.height = 'auto';
childTwo.style.width = 'auto';
childTwo.style.height = 'auto';
// 使它们居中
childOne.style.position = 'absolute';
childTwo.style.position = 'absolute';
childOne.style.left = '50%'; // 向左移动自身宽度的一半
childOne.style.top = '50%'; // 向上移动自身高度的一半
childTwo.style.left = '-50%'; // 向右移动自身宽度的一半
childTwo.style.top = '-50%'; // 向下移动自身高度的一半
// 或者使用transform属性
childOne.style.transform = 'translate(-50%, -50%)';
childTwo.style.transform = 'translate(50%, 50%)';
```
这样,两个`div`就会相对于父容器居中了。
阅读全文