Warum kann ich trotz der Einstellung der Höhe des übergeordneten Elements immer noch keine vertikale Zentrierung erreichen?
P粉493534105
P粉493534105 2023-09-11 17:27:43
0
1
530

Ich konnte den mx-auto类,但是尽管我的myContainerFixed类成功显示高度固定,但我无法使my-auto-Kurs zum Arbeiten nutzen.

Beispiel-CSS

.mx-auto {
    margin-left: auto;
    margin-right: auto;
}

.my-auto {
    margin-top: auto;
    margin-bottom: auto;
}

.myContainerFixed {
    height: 90vh;
}
@screen lg {
    .myContainerFixed {
        height: 85vh;
    }
}

.w-max {
    width: max-content;
}

Obwohl dies in diesem Fall sicherlich nicht die beste Option ist, habe ich es auch mit der absoluten Positionierung versucht und das hat auch nicht funktioniert Hier ist ein Beispiel

.absoluteCenter {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%)
}

HTML-Code

        return (
            <div className='bg-yellow-400 myContainerFixed'>
                <form onSubmit={handleSubmit(formFunction)} className=" bg-pink-400 w-max p-2 mx-auto my-auto rounded-sm [&>input]:mb-4  [&>label]:mr-2">
                    <label>Name</label>
                    <input type="text" {...register("name")} />
                    <div className='italic text-myDarkRed'>{errors.name?.message}</div>
                    <label>Email</label>
                    <input type="email" {...register("email")} />
                    <div className='italic text-myDarkRed'>{errors.email?.message}</div>
                    <label>Available Weights</label>
                    <input type="text" {...register("availableWeights", { setValueAs: (v: string | Array<number>) => Array.isArray(v) ? arrayToString(v) : v.split(",").map((weight) => Number(weight)) })} />
                    {/*  */}
                    <div className='italic text-myDarkRed'>{errors.availableWeights?.message}</div>

                    <button type="submit" className="p-2 rounded shadow-sm bg-gradient-to-b from-myRed to-red-400">Submit</button>
                </form>
            </div>
        );

P粉493534105
P粉493534105

Antworte allen(1)
P粉106711425

它与顶部元素(myContainerFixed)的display: block(默认)有关。

例如,给它display: flex;将修复此问题

.myContainerFixed {
    display: flex;
    height: 90vh;
}

我建议移除mx-auto和my-auto,并使用flex属性来定位表单

.myContainerFixed {
    height: 90vh;
    display: flex;
    justify-content: center;
    align-items: center;
}
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!