css - 如何使用引导程序垂直显示单选按钮
问题描述
我有一个考试系统,我想每行显示我的选项。我已经尝试过使用display: block;
,但它没有用。下面是我的代码。
<div class="col-md-10">
<div class="box box-primary">
<div class="box-header">
<h3 class="box-title">Add Question</h3>
</div>
<div class="box-body">
<form method="post" action="{{url('tests')}}">
@csrf
<div class="form-group row">
<label for="name" class="col-md-2 col-form-label text-md-right">{{ __('Question') }}</label>
<div class="col-md-6">
<textarea style="border: none"
class="form-control{{ $errors->has('question') ? ' is-invalid' : '' }}" name="question"
placeholder="Enter Question Here">{{$questions->question}}</textarea>
@if ($errors->has('question'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('question') }}</strong>
</span>
@endif
</div>
</div>
<div style="display: block"><br>
<span class="input-group-addon">
<input type="radio" name="q" id="option1" style="w">{{$questions->option1}}
</span>
<span class="input-group-addon">
<input type="radio" name="q" id="option1" style="w">{{$questions->option2}}
</span><span class="input-group-addon">
<input type="radio" name="q" id="option1" style="w">{{$questions->option3}}
</span><span class="input-group-addon">
<input type="radio" name="q" id="option1" style="w">{{$questions->option4}}
</span>
</div>
这是上面代码的输出
解决方案
执行此操作的“引导”方法是让引导程序处理它。根据他们的文档:
由于 Bootstrap 将 display: block 和 width: 100% 应用于我们几乎所有的表单控件,因此默认情况下表单将垂直堆叠。
意思是,通过使用适当的标签,它会自动垂直堆叠。由于span
是一个内联元素,它显然会这样显示。因此,您需要使用非内联元素,例如引导程序给出的示例:div
。
他们为水平表单元素等情况提供了专门的类。
接受的答案不是语义前向解决方案。在构建网站时,您应该始终考虑语义,原因有很多,但主要是 SEO 和可访问性。
Bootstrap 有很好的文档,它只会让你熟悉它。以下解决方案直接取自那里:
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet" />
<div class="col-md-10">
<div class="box box-primary">
<div class="box-body">
<form method="post">
<h3>Question</h3>
<div>
<div class="form-check">
<input type="radio" class="form-check-input" name="q" id="option1">
<label class="form-check-label" for="option1">Option 1</label>
</div>
<div class="form-check">
<input type="radio" class="form-check-input" name="q" id="option2">
<label class="form-check-label" for="option2">Option 2</label>
</div>
<div class="form-check">
<input type="radio" name="q" id="option3" class="form-check-input">
<label class="form-check-label" for="option3">Option 3</label>
</div>
<div class="form-check">
<input type="radio" name="q" id="option4" class="form-check-input">
<label class="form-check-label" for="option4">Option 4</label>
</div>
</div>
</form>
</div>
</div>
</div>
其他关键要点:
style="w"
不是标准的,这个属性对你有用吗?- 您所有的单选按钮共享相同的 id,这不是 id 的工作方式
- 您应该像片段中那样为您的无线电输入使用标签。这是一种很好的做法,并且随着您的需求变化会更容易设计。
推荐阅读
- php - Phalcon Devtools 错误:生成控制器、模型和脚手架不起作用(404 未找到页面)
- ios - iOS dSYM 查找符号调用者
- javascript - Nuxtjs 登陆页面未加载,但其余工作正常
- python - 创建一个字典,同时保留另一个字典中的键。- Python
- json - 如何使用 jq 将 JSON 中的 ISO 时间戳字段转换为纪元
- mysql - MySql如何在第一次连接中创建密码
- python - 当我尝试将其粘贴到 Excel 中时,xlwings 从存储在数据框对象中的字符串中删除 '
- html - 无法在 HTML 表单中发送 POST 请求
- arff - 当我尝试加载“.arff”扩展文件时,在 weka 中出现“无法读取对象”错误
- kotlin - 无法在 Android Studio 北极狐上访问“com.android.build.gradle.internal.dsl.Lockable”| 2020.3.1 金丝雀 12