2018-10-10 18:03:03 -04:00
---
id: bad87fee1348bd9aeda08845
2021-03-04 19:55:32 -07:00
title: 响应式风格的复选框
2018-10-10 18:03:03 -04:00
challengeType: 0
2020-09-07 16:17:39 +08:00
forumTopicId: 18269
2020-12-16 00:37:30 -07:00
required:
2021-02-06 04:42:36 +00:00
-
link: >-
2020-12-16 00:37:30 -07:00
https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.2.0/css/font-awesome.css
raw: true
2021-01-13 03:31:00 +01:00
dashedName: responsively-style-checkboxes
2018-10-10 18:03:03 -04:00
---
2020-12-16 00:37:30 -07:00
# --description--
2018-10-10 18:03:03 -04:00
2021-03-04 19:55:32 -07:00
Bootstrap 的 `col-xs-*` 可应用于所有的 `form` 元素上,包括复选框! 这样就可以不必关注屏幕大小,均匀地把复选框放在页面上了。
2018-10-10 18:03:03 -04:00
2020-12-16 00:37:30 -07:00
# --instructions--
2018-10-10 18:03:03 -04:00
2021-03-04 19:55:32 -07:00
将所有三个复选框都放置于一个 `<div class="row">` 元素中。 然后分别把每个复选框都放置于一个 `<div class="col-xs-4">` 元素中。
2018-10-10 18:03:03 -04:00
2020-12-16 00:37:30 -07:00
# --hints--
2018-10-10 18:03:03 -04:00
2021-03-04 19:55:32 -07:00
将所有的复选框嵌入一个含有 `row` class 的 `div` 元素中。
2018-10-10 18:03:03 -04:00
2020-12-16 00:37:30 -07:00
```js
assert($('div.row:has(input[type="checkbox"])').length > 0);
2018-10-10 18:03:03 -04:00
```
2021-03-04 19:55:32 -07:00
每一个复选框应该嵌套于单独的具有 `col-xs-4` class 的 `div` 元素中。
2018-10-10 18:03:03 -04:00
2020-12-16 00:37:30 -07:00
```js
assert($('div.col-xs-4:has(input[type="checkbox"])').length > 2);
```
2020-09-07 16:17:39 +08:00
2021-03-04 19:55:32 -07:00
确保所有 `div` 元素都有一个闭合标签。
2020-09-07 16:17:39 +08:00
2020-12-16 00:37:30 -07:00
```js
assert(
code.match(/< \/div > /g) &&
code.match(/< div / g ) & &
code.match(/< \/div > /g).length === code.match(/< div / g ). length
);
2018-10-10 18:03:03 -04:00
```
2020-08-13 17:24:35 +02:00
2021-01-13 03:31:00 +01:00
# --seed--
## --seed-contents--
```html
< link href = "https://fonts.googleapis.com/css?family=Lobster" rel = "stylesheet" type = "text/css" >
< style >
h2 {
font-family: Lobster, Monospace;
}
.thick-green-border {
border-color: green;
border-width: 10px;
border-style: solid;
border-radius: 50%;
}
< / style >
< div class = "container-fluid" >
< div class = "row" >
< div class = "col-xs-8" >
< h2 class = "text-primary text-center" > CatPhotoApp< / h2 >
< / div >
< div class = "col-xs-4" >
2021-09-22 08:34:59 -07:00
< a href = "#" > < img class = "img-responsive thick-green-border" src = "https://cdn.freecodecamp.org/curriculum/cat-photo-app/relaxing-cat.jpg" alt = "A cute orange cat lying on its back." > < / a >
2021-01-13 03:31:00 +01:00
< / div >
< / div >
2021-09-22 08:34:59 -07:00
< img src = "https://cdn.freecodecamp.org/curriculum/cat-photo-app/running-cats.jpg" class = "img-responsive" alt = "Three kittens running towards the camera." >
2021-01-13 03:31:00 +01:00
< div class = "row" >
< div class = "col-xs-4" >
< button class = "btn btn-block btn-primary" > < i class = "fa fa-thumbs-up" > < / i > Like< / button >
< / div >
< div class = "col-xs-4" >
< button class = "btn btn-block btn-info" > < i class = "fa fa-info-circle" > < / i > Info< / button >
< / div >
< div class = "col-xs-4" >
< button class = "btn btn-block btn-danger" > < i class = "fa fa-trash" > < / i > Delete< / button >
< / div >
< / div >
< p > Things cats < span class = "text-danger" > love:< / span > < / p >
< ul >
< li > cat nip< / li >
< li > laser pointers< / li >
< li > lasagna< / li >
< / ul >
< p > Top 3 things cats hate:< / p >
< ol >
< li > flea treatment< / li >
< li > thunder< / li >
< li > other cats< / li >
< / ol >
< form action = "https://freecatphotoapp.com/submit-cat-photo" >
< div class = "row" >
< div class = "col-xs-6" >
< label > < input type = "radio" name = "indoor-outdoor" > Indoor< / label >
< / div >
< div class = "col-xs-6" >
< label > < input type = "radio" name = "indoor-outdoor" > Outdoor< / label >
< / div >
< / div >
< label > < input type = "checkbox" name = "personality" > Loving< / label >
< label > < input type = "checkbox" name = "personality" > Lazy< / label >
< label > < input type = "checkbox" name = "personality" > Crazy< / label >
< input type = "text" placeholder = "cat photo URL" required >
< button type = "submit" > Submit< / button >
< / form >
< / div >
```
2020-12-16 00:37:30 -07:00
# --solutions--
2021-01-13 03:31:00 +01:00
```html
< link href = "https://fonts.googleapis.com/css?family=Lobster" rel = "stylesheet" type = "text/css" >
< style >
h2 {
font-family: Lobster, Monospace;
}
.thick-green-border {
border-color: green;
border-width: 10px;
border-style: solid;
border-radius: 50%;
}
< / style >
< div class = "container-fluid" >
< div class = "row" >
< div class = "col-xs-8" >
< h2 class = "text-primary text-center" > CatPhotoApp< / h2 >
< / div >
< div class = "col-xs-4" >
2021-09-22 08:34:59 -07:00
< a href = "#" > < img class = "img-responsive thick-green-border" src = "https://cdn.freecodecamp.org/curriculum/cat-photo-app/relaxing-cat.jpg" alt = "A cute orange cat lying on its back." > < / a >
2021-01-13 03:31:00 +01:00
< / div >
< / div >
2021-09-22 08:34:59 -07:00
< img src = "https://cdn.freecodecamp.org/curriculum/cat-photo-app/running-cats.jpg" class = "img-responsive" alt = "Three kittens running towards the camera." >
2021-01-13 03:31:00 +01:00
< div class = "row" >
< div class = "col-xs-4" >
< button class = "btn btn-block btn-primary" > < i class = "fa fa-thumbs-up" > < / i > Like< / button >
< / div >
< div class = "col-xs-4" >
< button class = "btn btn-block btn-info" > < i class = "fa fa-info-circle" > < / i > Info< / button >
< / div >
< div class = "col-xs-4" >
< button class = "btn btn-block btn-danger" > < i class = "fa fa-trash" > < / i > Delete< / button >
< / div >
< / div >
< p > Things cats < span class = "text-danger" > love:< / span > < / p >
< ul >
< li > cat nip< / li >
< li > laser pointers< / li >
< li > lasagna< / li >
< / ul >
< p > Top 3 things cats hate:< / p >
< ol >
< li > flea treatment< / li >
< li > thunder< / li >
< li > other cats< / li >
< / ol >
< form action = "https://freecatphotoapp.com/submit-cat-photo" >
< div class = "row" >
< div class = "col-xs-6" >
< label > < input type = "radio" name = "indoor-outdoor" > Indoor< / label >
< / div >
< div class = "col-xs-6" >
< label > < input type = "radio" name = "indoor-outdoor" > Outdoor< / label >
< / div >
< / div >
< div class = "row" >
< div class = "col-xs-4" >
< label > < input type = "checkbox" name = "personality" > Loving< / label >
< / div >
< div class = "col-xs-4" >
< label > < input type = "checkbox" name = "personality" > Lazy< / label >
< / div >
< div class = "col-xs-4" >
< label > < input type = "checkbox" name = "personality" > Crazy< / label >
< / div >
< / div >
< input type = "text" placeholder = "cat photo URL" required >
< button type = "submit" > Submit< / button >
< / form >
< / div >
```