Search


And/Or decision points (Conjunctions)

Providing a more visual seperation between two decision points by a visual cue (or) based on user testing. Also provide a connecting conjunction to show two parts are connected (and).

GCWeb implementation plan

Todo and for future consideration

Lead: CRA - Christopher Oakes (@christopher-o)

Base configurations

Link to French examples

Not all screen readers can read CSS text, so include the word or concept of "or" with wb-inv class.

Some options are:

Never stacked (always side-by-side)

Header A: Option 1 of 2

This is content for header A

Header B: Option 2 of 2

This is content for header B

Header A

This is content for header A

Header B

This is content for header B

Always stacked (mobile first, no side-by-side)

Header A: Option 1 of 2

This is content for header A

Header B: Option 2 of 2

This is content for header B

Header A

This is content for header A

Header B

This is content for header B

Code

//Never stacked "or"
<div class="cnjnctn-type-or cnjnctn-xs">
	<div class="cnjnctn-col">
		<h4 class="text-muted">Header A<span class="wb-inv">: Option 1 of 2</span></h4>
		<p>This is content for header A </p>
	</div>
	<div class="cnjnctn-col">
		<h4 class="text-muted">Header B<span class="wb-inv">: Option 2 of 2</span></h4>
		<p>This is content for header B</p>
	</div>
</div>
//Never stacked "and"
<div class="cnjnctn-type-and cnjnctn-xs">
	<div class="cnjnctn-col">
		<h4 class="text-muted">Header A</h4>
		<p>This is content for header A </p>
	</div>
	<div class="cnjnctn-col">
		<h4 class="text-muted">Header B</h4>
		<p>This is content for header B</p>
	</div>
</div>

//Always stacked "or"
<div class="cnjnctn-type-or"> 
	<div class="cnjnctn-col"> 
		<h4 class="text-muted">Header A<span class="wb-inv">: Option 1 of 2</span></h4>
		<p>This is content for header A </p>
	</div>
	<div class="cnjnctn-col">
		<h4 class="text-muted">Header B<span class="wb-inv">: Option 2 of 2</span></h4>
		<p>This is content for header B</p>
	</div>
</div>
//Always stacked "and"
<div class="cnjnctn-type-and"> 
	<div class="cnjnctn-col"> 
		<h4 class="text-muted">Header A</h4>
		<p>This is content for header A </p>
	</div>
	<div class="cnjnctn-col">
		<h4 class="text-muted">Header B</h4>
		<p>This is content for header B</p>
	</div>
</div>
  

Responsive design

Note: all designs going forward will use the "or" model to simplify the amount of examples.

Stacks on extra small devices, phones (<768px)

Header A: Option 1 of 2

This is content for header A

Header B: Option 2 of 2

This is content for header B

Stacks on small devices, tablets (768px to 992px)

Header A: Option 1 of 2

This is content for header A

Header B: Option 2 of 2

This is content for header B

Stacks on medium devices (992px to 1200px)

Header A: Option 1 of 2

This is content for header A

Header B: Option 2 of 2

This is content for header B

Code
//Stacks on extra small devices, phones	
<div class="cnjnctn-type-or cnjnctn-sm">
	<div class="cnjnctn-col">
		<h5 class="text-muted">Header A<span class="wb-inv">: Option 1 of 2</span></h5>
		<p>This is content for header A </p>
	</div>
	<div class="cnjnctn-col">
		<h5 class="text-muted">Header B<span class="wb-inv">: Option 2 of 2</span></h5>
		<p>This is content for header B</p>
	</div>
</div>				
//Stacks on small devices, tablets	
<div class="cnjnctn-type-or cnjnctn-md">
	<div class="cnjnctn-col">
		<h5 class="text-muted">Header A<span class="wb-inv">: Option 1 of 2</span></h5>
		<p>This is content for header A </p>
	</div>
	<div class="cnjnctn-col">
		<h5 class="text-muted">Header B<span class="wb-inv">: Option 2 of 2</span></h5>
		<p>This is content for header B</p>
	</div>
</div>				
//Stacks on medium devices
<div class="cnjnctn-type-or cnjnctn-lg">
	<div class="cnjnctn-col">
		<h5 class="text-muted">Header A<span class="wb-inv">: Option 1 of 2</span></h5>
		<p>This is content for header A </p>
	</div>
	<div class="cnjnctn-col">
		<h5 class="text-muted">Header B<span class="wb-inv">: Option 2 of 2</span></h5>
		<p>This is content for header B</p>
	</div>
</div>

Use the always stacked design to stack across all resolutions.

Extended configurations

Column count

Three columns (example stacks on small devices)

Header A: Option 1 of 3

This is content for header A

Header B: Option 2 of 3

This is content for header B

Header C: Option 3 of 3

This is content for header C

Four columns (example stacks on medium devices)

Header A: Option 1 of 4

This is content for header A

Header B: Option 2 of 4

This is content for header B

Header C: Option 3 of 4

This is content for header C

Header D: Option 4 of 4

This is content for header D

Code
//Three columns (example stacks on small devices)
<div class="cnjnctn-type-or cnjnctn-md">
	<div class="cnjnctn-col">
		<h5 class="text-muted">Header A<span class="wb-inv">: Option 1 of 3</span></h5>
		<p>This is content for header A </p>
	</div>
	<div class="cnjnctn-col">
		<h5 class="text-muted">Header B<span class="wb-inv">: Option 2 of 3</span></h5>
		<p>This is content for header B</p>
	</div>
	<div class="cnjnctn-col">
		<h5 class="text-muted">Header C<span class="wb-inv">: Option 3 of 3</span></h5>
		<p>This is content for header C</p>
	</div>
</div>
//Four columns (example stacks on medium devices)
<div class="cnjnctn-type-or cnjnctn-lg">
	<div class="cnjnctn-col">
		<h5 class="text-muted">Header A<span class="wb-inv">: Option 1 of 4</span></h5>
		<p>This is content for header A </p>
	</div>
	<div class="cnjnctn-col">
		<h5 class="text-muted">Header B<span class="wb-inv">: Option 2 of 4</span></h5>
		<p>This is content for header B</p>
	</div>
	<div class="cnjnctn-col">
		<h5 class="text-muted">Header C<span class="wb-inv">: Option 3 of 4</span></h5>
		<p>This is content for header C</p>
	</div>
	<div class="cnjnctn-col">
		<h5 class="text-muted">Header D<span class="wb-inv">: Option 4 of 4</span></h5>
		<p>This is content for header D</p>
	</div>
</div>

If you require more than four options (columns), consider the always stacked default design.

Width of column

To accommodate options that might be lopsided in the amount of text but a need to be visually pleasing, the columns can be set to a percentage of itself to allow larger content to wrap less. The default is 100% (cnjnctn-col).

Note: The width cannot be adjusted based on different resolutions, best to stack the columns when content becomes difficult to read on smaller devices.

Column set to 90% of original width (example stacks on medium devices)

Header A: Option 1 of X

This is content for header A (at 90% of default cnjnctn-col-90)

Header B: Option 2 of X

This is content for header B

Nam fermentum cursus sodales. Mauris leo leo, congue et fringilla in, egestas eu sapien.

Column set to 80% of original width (example stacks on medium devices)

Header A: Option 1 of X

This is content for header A (at 80% of default cnjnctn-col-80)

Header B: Option 2 of X

This is content for header B

Nam fermentum cursus sodales. Mauris leo leo, congue et fringilla in, egestas eu sapien.

Column set to 75% of original width (example stacks on medium devices)

Header A: Option 1 of X

This is content for header A (at 75% of default cnjnctn-col-75)

Header B: Option 2 of X

This is content for header B

Nam fermentum cursus sodales. Mauris leo leo, congue et fringilla in, egestas eu sapien.

Column set to 70% of original width (example stacks on medium devices)

Header A: Option 1 of X

This is content for header A (at 70% of default cnjnctn-col-70)

Header B: Option 2 of X

This is content for header B

Nam fermentum cursus sodales. Mauris leo leo, congue et fringilla in, egestas eu sapien.

Column set to 60% of original width (example stacks on medium devices)

Header A: Option 1 of X

This is content for header A (at 60% of default cnjnctn-col-60)

Header B: Option 2 of X

This is content for header B

Nam fermentum cursus sodales. Mauris leo leo, congue et fringilla in, egestas eu sapien.

Column set to 50% of original width (example stacks on medium devices)

Header A: Option 1 of X

This is content for header A (at 50% of default cnjnctn-col-50)

Header B: Option 2 of X

This is content for header B

Nam fermentum cursus sodales. Mauris leo leo, congue et fringilla in, egestas eu sapien.

Column set to 40% of original width (example stacks on medium devices)

Header A: Option 1 of X

This is content for header A (at 40% of default cnjnctn-col-40)

Header B: Option 2 of X

This is content for header B

Nam fermentum cursus sodales. Mauris leo leo, congue et fringilla in, egestas eu sapien.

Column set to 30% of original width (example stacks on medium devices)

Header A: Option 1 of X

This is content for header A (at 30% of default cnjnctn-col-30)

Header B: Option 2 of X

This is content for header B

Nam fermentum cursus sodales. Mauris leo leo, congue et fringilla in, egestas eu sapien.

Column set to 25% of original width (example stacks on medium devices)

Header A: Option 1 of X

This is content for header A (at 25% of default cnjnctn-col-25)

Header B: Option 2 of X

This is content for header B

Nam fermentum cursus sodales. Mauris leo leo, congue et fringilla in, egestas eu sapien.

Column set to 20% of original width (example stacks on medium devices)

Header A: Option 1 of X

This is content for header A (at 20% of default cnjnctn-col-20)

Header B: Option 2 of X

This is content for header B

Nam fermentum cursus sodales. Mauris leo leo, congue et fringilla in, egestas eu sapien.

Code
//90% of default width
<div class="cnjnctn-type-or cnjnctn-lg">
	<div class="cnjnctn-col-90">
		<h4 class="text-muted">Header A<span class="wb-inv">: Option 1 of X</span></h4>
		<p>This is content for header A </p>
	</div>
	<div class="cnjnctn-col">
		<h4 class="text-muted">Header B<span class="wb-inv">: Option 2 of X</span></h4>
		<p>This is content for header B</p>
		<p>Nam fermentum cursus sodales. Mauris leo leo, congue et fringilla in, egestas eu sapien. </p>
	</div>
</div>
//80% of default width
<div class="cnjnctn-type-or cnjnctn-lg">
	<div class="cnjnctn-col-80">
		<h4 class="text-muted">Header A<span class="wb-inv">: Option 1 of X</span></h4>
		<p>This is content for header A </p>
	</div>
	<div class="cnjnctn-col">
		<h4 class="text-muted">Header B<span class="wb-inv">: Option 2 of X</span></h4>
		<p>This is content for header B</p>
		<p>Nam fermentum cursus sodales. Mauris leo leo, congue et fringilla in, egestas eu sapien. </p>
	</div>
</div>
//75% of default width
<div class="cnjnctn-type-or cnjnctn-lg">
	<div class="cnjnctn-col-75">
		<h4 class="text-muted">Header A<span class="wb-inv">: Option 1 of X</span></h4>
		<p>This is content for header A </p>
	</div>
	<div class="cnjnctn-col">
		<h4 class="text-muted">Header B<span class="wb-inv">: Option 2 of X</span></h4>
		<p>This is content for header B</p>
		<p>Nam fermentum cursus sodales. Mauris leo leo, congue et fringilla in, egestas eu sapien. </p>
	</div>
</div>
//70% of default width
<div class="cnjnctn-type-or cnjnctn-lg">
	<div class="cnjnctn-col-70">
		<h4 class="text-muted">Header A<span class="wb-inv">: Option 1 of X</span></h4>
		<p>This is content for header A </p>
	</div>
	<div class="cnjnctn-col">
		<h4 class="text-muted">Header B<span class="wb-inv">: Option 2 of X</span></h4>
		<p>This is content for header B</p>
		<p>Nam fermentum cursus sodales. Mauris leo leo, congue et fringilla in, egestas eu sapien. </p>
	</div>
</div>
//60% of default width
<div class="cnjnctn-type-or cnjnctn-lg">
	<div class="cnjnctn-col-60">
		<h4 class="text-muted">Header A<span class="wb-inv">: Option 1 of X</span></h4>
		<p>This is content for header A </p>
	</div>
	<div class="cnjnctn-col">
		<h4 class="text-muted">Header B<span class="wb-inv">: Option 2 of X</span></h4>
		<p>This is content for header B</p>
		<p>Nam fermentum cursus sodales. Mauris leo leo, congue et fringilla in, egestas eu sapien. </p>
	</div>
</div>
//50% of default width
<div class="cnjnctn-type-or cnjnctn-lg">
	<div class="cnjnctn-col-50">
		<h4 class="text-muted">Header A<span class="wb-inv">: Option 1 of X</span></h4>
		<p>This is content for header A </p>
	</div>
	<div class="cnjnctn-col">
		<h4 class="text-muted">Header B<span class="wb-inv">: Option 2 of X</span></h4>
		<p>This is content for header B</p>
		<p>Nam fermentum cursus sodales. Mauris leo leo, congue et fringilla in, egestas eu sapien. </p>
	</div>
</div>
//40% of default width
<div class="cnjnctn-type-or cnjnctn-lg">
	<div class="cnjnctn-col-40">
		<h4 class="text-muted">Header A<span class="wb-inv">: Option 1 of X</span></h4>
		<p>This is content for header A </p>
	</div>
	<div class="cnjnctn-col">
		<h4 class="text-muted">Header B<span class="wb-inv">: Option 2 of X</span></h4>
		<p>This is content for header B</p>
		<p>Nam fermentum cursus sodales. Mauris leo leo, congue et fringilla in, egestas eu sapien. </p>
	</div>
</div>
//30% of default width
<div class="cnjnctn-type-or cnjnctn-lg">
	<div class="cnjnctn-col-30">
		<h4 class="text-muted">Header A<span class="wb-inv">: Option 1 of X</span></h4>
		<p>This is content for header A </p>
	</div>
	<div class="cnjnctn-col">
		<h4 class="text-muted">Header B<span class="wb-inv">: Option 2 of X</span></h4>
		<p>This is content for header B</p>
		<p>Nam fermentum cursus sodales. Mauris leo leo, congue et fringilla in, egestas eu sapien. </p>
	</div>
</div>
//25% of default width
<div class="cnjnctn-type-or cnjnctn-lg">
	<div class="cnjnctn-col-25">
		<h4 class="text-muted">Header A<span class="wb-inv">: Option 1 of X</span></h4>
		<p>This is content for header A </p>
	</div>
	<div class="cnjnctn-col">
		<h4 class="text-muted">Header B<span class="wb-inv">: Option 2 of X</span></h4>
		<p>This is content for header B</p>
		<p>Nam fermentum cursus sodales. Mauris leo leo, congue et fringilla in, egestas eu sapien. </p>
	</div>
</div>
//20% of default width
<div class="cnjnctn-type-or cnjnctn-lg">
	<div class="cnjnctn-col-20">
		<h4 class="text-muted">Header A<span class="wb-inv">: Option 1 of X</span></h4>
		<p>This is content for header A </p>
	</div>
	<div class="cnjnctn-col">
		<h4 class="text-muted">Header B<span class="wb-inv">: Option 2 of X</span></h4>
		<p>This is content for header B</p>
		<p>Nam fermentum cursus sodales. Mauris leo leo, congue et fringilla in, egestas eu sapien. </p>
	</div>
</div>
List of classes for column width
Class name With of column compared to default (in percentage)
cnjnctn-col 100% (Default)
cnjnctn-col-90 90%
cnjnctn-col-80 80%
cnjnctn-col-75 75%
cnjnctn-col-70 70%
cnjnctn-col-60 60%
cnjnctn-col-50 50%
cnjnctn-col-40 40%
cnjnctn-col-30 30%
cnjnctn-col-25 25%
cnjnctn-col-20 20%

Page details

Date modified: