Простая форма начальной загрузки - PullRequest
0 голосов
/ 08 марта 2019

Я пытаюсь воспроизвести эту форму:

https://themes.gohugo.io//theme/hugo-terrassa-theme/contact

Использование Bootstrap 4 (без Flexbox из-за необходимости IE11):

Я застрял.

Вот мой код:

<div class="container ">
        <div class="row">
            <div class="form-group ">
                <!-- Name -->
                <label class="control-label" for="{{ $.Site.Params.form.inputNameName }}">
                    {{ $.Site.Params.form.inputNameLabel }}</label>
                <div>
                    <input class="form-control" type="text" name="{{ $.Site.Params.form.inputNameName }}"
                           placeholder="{{ $.Site.Params.form.inputNamePlaceholder }}"
                           id="{{ $.Site.Params.form.inputNameName }}"
                           aria-labelledby="{{ $.Site.Params.form.inputNameName }}" required>
                </div>
            </div>

            <div class="form-group ">
                <!-- Email -->
                <label class="control-label" for="{{ $.Site.Params.form.inputEmailName }}">
                    {{ $.Site.Params.form.inputEmailLabel }}</label>
                <div>
                    <input class="form-control" type="email" name="{{ $.Site.Params.form.inputEmailName }}"
                           placeholder="{{ $.Site.Params.form.inputEmailPlaceholder }}"
                           id="{{ $.Site.Params.form.inputEmailName }}"
                           aria-labelledby="{{ $.Site.Params.form.InputEmailName }}" required>
                </div>
            </div>
        </div>

        <div class="row">
            <div class="form-group col">
                <!-- Message -->
                <label class="control-label" for="{{ $.Site.Params.form.inputMsgName }}">
                    {{ $.Site.Params.form.inputMsgLabel }}</label>
                <div>
                <textarea class="form-control" name="{{ $.Site.Params.form.inputMsgName }}"
                          id="{{ $.Site.Params.form.inputMsgName }}" form="contactForm"
                          maxlength="{{ $.Site.Params.form.inputMsgLength }}" id="{{ $.Site.Params.form.inputMsgName }}"
                          arial-labelledby="{{ $.Site.Params.form.InputMsgName }}" required></textarea>
                </div>
            </div>
        </div>

        <!-- Submit -->
        <a class="button" href="javascript:cleanForm" aria-label="{{ $.Site.Params.form.inputSubmitValue }}">
            {{ $.Site.Params.form.inputSubmitValue }}
        </a>

    <h6 class="text-center">
        <strong>Phone </strong>{{ .Site.Data.contact.phone }}
        <strong>Fax </strong>{{ .Site.Data.contact.fax }}
    </h6>
</div>

Я немного новичок в сетке Bootstrap, но понимаю основные понятия.У меня есть метки и входы, выравнивающие, как я хочу, но я не могу понять, как расположить объект по центру и разнести, как в примере.

Обратите внимание, встроенные значения, например, {{.Site.Data.contact.fax}} заполняются системой генератора статических сайтов Hugo.Кроме того, есть элемент формы, обертывающий этот контейнер, но я не думаю, что это должно иметь значение для демонстрации проблемы.

Спасибо

1 Ответ

0 голосов
/ 08 марта 2019

Вам необходимо использовать начальную загрузку система координат и использовать ряд строк и столбцов для достижения вашего макета.

Я протестировал приведенный ниже код, и он обеспечивает макет, подобный тому, чтотебе нужно.

<div class="container ">
    <div class="row">
        <div class="col-6 form-group">
            <!-- Name -->
            <label class="control-label" for="{{ $.Site.Params.form.inputNameName }}">{{ $.Site.Params.form.inputNameLabel }}</label>
                <input class="form-control" type="text" name="{{ $.Site.Params.form.inputNameName }}" placeholder="{{ $.Site.Params.form.inputNamePlaceholder }}" id="{{ $.Site.Params.form.inputNameName }}" aria-labelledby="{{ $.Site.Params.form.inputNameName }}" required>
        </div>

        <div class="col-6 form-group">
            <!-- Email -->
            <label class="control-label" for="{{ $.Site.Params.form.inputEmailName }}">{{ $.Site.Params.form.inputEmailLabel }}</label>
            <input class="form-control" type="email" name="{{ $.Site.Params.form.inputEmailName }}" placeholder="{{ $.Site.Params.form.inputEmailPlaceholder }}" id="{{ $.Site.Params.form.inputEmailName }}" aria-labelledby="{{ $.Site.Params.form.InputEmailName }}" required>
        </div>
    </div>

    <div class="row">
        <div class="col-12 form-group">
            <!-- Message -->
            <label class="control-label" for="{{ $.Site.Params.form.inputMsgName }}">{{ $.Site.Params.form.inputMsgLabel }}</label>
            <textarea class="form-control" name="{{ $.Site.Params.form.inputMsgName }}" id="{{ $.Site.Params.form.inputMsgName }}" form="contactForm" maxlength="{{ $.Site.Params.form.inputMsgLength }}" id="{{ $.Site.Params.form.inputMsgName }}" arial-labelledby="{{ $.Site.Params.form.InputMsgName }}" required></textarea>
        </div>
    </div>

    <!-- Submit -->
    <div class="row">
        <div class="col-12 form-group text-center">
            <button type="submit" class="btn btn-primary" href="javascript:cleanForm" aria-label="{{ $.Site.Params.form.inputSubmitValue }}">{{ $.Site.Params.form.inputSubmitValue }}</button>
        </div>
    </div>

    <h6 class="text-center">
        <strong>Phone </strong>{{ .Site.Data.contact.phone }}
        <strong>Fax </strong>{{ .Site.Data.contact.fax }}
    </h6>
</div>
...