HTML/CSS - 左对齐并在同一行居中
HTML/CSS - Left Align and center on same line
我想在 HTML 和 CSS 的同一行上左对齐一些文本并将另一个文本居中。我还想在左对齐文本上添加 margin-left
。
这是我目前的做法:
HTML:
<div id="wrapper">
<h1 class="align-left">LEFT</h1>
<h1>CENTER</h1>
</div>
CSS:
.align-left {
float: left;
margin-left: 20px;
}
#wrapper {
text-align: center;
}
这适用于左右对齐,但边距也会推动居中文本。我认为这是因为 float: left
在页面流中保持左对齐文本。
非常感谢你:)
你只需要调整 HTML:
<div id="wrapper">
<h1><span class="align-left">LEFT</span>CENTER</h1>
</div>
如果您不希望随着左侧文本变长而调整中心文本,请使用定位 CSS(与我发布的 HTML 相同)。
.align-left {
position: absolute;
left: 20px;
}
#wrapper {
text-align: center;
position: relative;
}
注意...如果您不想调整中心文本,文本可能会重叠。
这样使用
<div id="wrapper">
<h1 class="align-left">LEFT</h1>
<h1 class="align-center">CENTER</h1>
</div>
<style>
h1.align-left {
text-align:left;
padding:0;
margin:0;
position:absolute;
}
h1.align-center{
text-align: center;
}
</style>
其他方式:
<div id="wrapper">
<h1 class="align-left">LEFT</h1>
<h1 class="align-center">CENTER</h1>
</div>
<style>
h1.align-left{
padding:0;
margin:0;
position:absolute;
}
#wrapper {
text-align:left;
}
h1.align-center{
text-align: center;
}
</style>
我的两分钱。
CSS代码:
h1{
display: inline-block;
}
#center{
text-align: center;
width: 80%;
}
#wrapper {
width: 100%;
}
HTML代码:
<div id="wrapper">
<h1 id="left">LEFT</h1>
<h1 id="center">CENTER</h1>
</div>
您可以通过下面的代码实现。文章标签的顺序无关紧要,css 会注意正确放置它们。
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
section {
border: 1px solid #ff0000;
overflow: hidden;
position: relative;
width: 100%;
}
section article.txt {
border: 1px solid green;
max-width: 35%;
}
section article.left { float: left; }
section article.right { float: right; }
section article.center {
--width: 300px;
position: absolute;
margin: 0 50%;
left: calc((var(--width) / 2) - var(--width));
width: var(--width);
}
</style>
</head>
<body>
<section>
<article class="txt left">Text LEFT side</article>
<article class="txt right">Text RIGHT side</article>
<article class="txt center">Text CENTER</article>
</section>
</body>
</html>
我想在 HTML 和 CSS 的同一行上左对齐一些文本并将另一个文本居中。我还想在左对齐文本上添加 margin-left
。
这是我目前的做法:
HTML:
<div id="wrapper">
<h1 class="align-left">LEFT</h1>
<h1>CENTER</h1>
</div>
CSS:
.align-left {
float: left;
margin-left: 20px;
}
#wrapper {
text-align: center;
}
这适用于左右对齐,但边距也会推动居中文本。我认为这是因为 float: left
在页面流中保持左对齐文本。
非常感谢你:)
你只需要调整 HTML:
<div id="wrapper">
<h1><span class="align-left">LEFT</span>CENTER</h1>
</div>
如果您不希望随着左侧文本变长而调整中心文本,请使用定位 CSS(与我发布的 HTML 相同)。
.align-left {
position: absolute;
left: 20px;
}
#wrapper {
text-align: center;
position: relative;
}
注意...如果您不想调整中心文本,文本可能会重叠。
这样使用
<div id="wrapper">
<h1 class="align-left">LEFT</h1>
<h1 class="align-center">CENTER</h1>
</div>
<style>
h1.align-left {
text-align:left;
padding:0;
margin:0;
position:absolute;
}
h1.align-center{
text-align: center;
}
</style>
其他方式:
<div id="wrapper">
<h1 class="align-left">LEFT</h1>
<h1 class="align-center">CENTER</h1>
</div>
<style>
h1.align-left{
padding:0;
margin:0;
position:absolute;
}
#wrapper {
text-align:left;
}
h1.align-center{
text-align: center;
}
</style>
我的两分钱。
CSS代码:
h1{
display: inline-block;
}
#center{
text-align: center;
width: 80%;
}
#wrapper {
width: 100%;
}
HTML代码:
<div id="wrapper">
<h1 id="left">LEFT</h1>
<h1 id="center">CENTER</h1>
</div>
您可以通过下面的代码实现。文章标签的顺序无关紧要,css 会注意正确放置它们。
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
section {
border: 1px solid #ff0000;
overflow: hidden;
position: relative;
width: 100%;
}
section article.txt {
border: 1px solid green;
max-width: 35%;
}
section article.left { float: left; }
section article.right { float: right; }
section article.center {
--width: 300px;
position: absolute;
margin: 0 50%;
left: calc((var(--width) / 2) - var(--width));
width: var(--width);
}
</style>
</head>
<body>
<section>
<article class="txt left">Text LEFT side</article>
<article class="txt right">Text RIGHT side</article>
<article class="txt center">Text CENTER</article>
</section>
</body>
</html>