Я пытаюсь оформить форму React- Bootstrap так, чтобы несколько списков флажков имели правильно выдающиеся заголовки. Я хочу, чтобы текст "Frontend", "backend", "database" et c имел отступ примерно 10-20 пикселей.
Как это выглядит сейчас:
Это не простой HTML / CSS, но я хотел бы просто добавить "padding: 10px" к заголовкам "Frontend Frameworks, Frontend, Backend, Databases".
Первым делом я попытался добавить таблицу стилей CSS, используя className="formLabel"
со стилем для .formLabel: padding: 10px
. Но это на самом деле не убирает sh других элементов, как с обычным CSS. Вместо этого я получаю это:
(Граница добавлена, чтобы было легче видеть, что происходит)
Я также пытался добавить style={{ paddingBottom: "10px" }}
в стиле этой темы . Я также прочитал страницу React Bootstrap Forms docs , но не нашел упоминания о том, как стилизовать элемент <Form.Label>
.
Итак, предположим, вы хотите повторить то, что я сделал в этих изображения, см. код ниже:
// this code should nicely generate a "Homepage" component to use in React
import React, { Component } from "react";
import { Form } from "react-bootstrap";
import "./home.css";
class Homepage extends Component {
state = {
checked: [
{ vue: false, category: "framework" },
{ angular: false, category: "framework" },
{ react: false, category: "framework" },
{ html: false, category: "frontend" },
{ css: false, category: "frontend" },
{ javascript: false, category: "frontend" },
{ python: false, category: "backend" },
{ SQLite: false, category: "database" }
]
};
render() {
return (
// will generate the "framework" and "frontend" checkboxes
<Form>
<Form.Label className="formLabel">
Frontend Frameworks
</Form.Label>
{this.state.checked.map((obj, index) => {
let box = null;
if (obj.category === "framework") {
box = (
<Form.Check
inline
label={Object.keys(obj)[0]} // returns values like "vue"
type={"checkbox"}
id={index}
/>
);
}
return box;
})}
</Form>
<Form>
<Form.Label className="formLabel">Frontend</Form.Label>
{this.state.checked.map((obj, index) => {
let box = null;
if (obj.category === "frontend") {
box = (
<Form.Check
inline
label={Object.keys(obj)[0]} // returns values like "vue", "react"
type={"checkbox"}
id={index}
/>
);
}
return box;
})}
</Form>
)
}
export default Homepage;
// home.css
.formLabel {
font-size: 18px;
margin-bottom: 15px;
}
.testLabel {
font-size: 18px;
padding: 10px;
border: 1px solid black;
}