bulma/docs/documentation/overview/responsiveness.html

242 lines
6.8 KiB
HTML
Raw Normal View History

---
2017-07-29 12:02:00 +00:00
title: Responsiveness
layout: documentation
doc-tab: overview
doc-subtab: responsiveness
2018-04-09 16:32:12 +00:00
breadcrumb:
- home
- documentation
- overview
- overview-responsiveness
variables_keys:
2018-06-16 20:12:34 +00:00
- $gap
- $tablet
- $desktop
- $widescreen
- $fullhd
---
2018-04-08 19:11:48 +00:00
{% capture scss_code %}
// Disable the widescreen breakpoint
$widescreen-enabled: false
// Disable the fullhd breakpoint
$fullhd-enabled: false
{% endcapture %}
2018-04-09 21:25:26 +00:00
{% include elements/anchor.html name="Vertical by default" %}
2018-04-09 16:32:12 +00:00
<div class="content">
<p>
Every element in Bulma is <strong>mobile-first</strong> and optimizes for <strong>vertical reading</strong>, so by default on mobile:
</p>
<ul>
<li><code>columns</code> are stacked vertically</li>
<li>the <code>level</code> component will show its children stacked vertically</li>
<li>the <code>nav</code> menu will be hidden</li>
</ul>
<p>You can however enforce the <strong>horizontal</strong> layout for both <code>columns</code> or <code>level</code> by appending the <code>is-mobile</code> modifier.</p>
2018-04-09 16:32:12 +00:00
</div>
2018-04-09 21:25:26 +00:00
{% include elements/anchor.html name="Breakpoints" %}
{% assign variables_file_url = "/blob/master/sass/utilities/initial-variables.sass#L56,L64" | prepend: site.data.meta.github %}
2018-04-17 13:52:59 +00:00
{% assign mixins_file_url = "/blob/master/sass/utilities/mixins.sass#L81,L129" | prepend: site.data.meta.github %}
2017-03-14 21:19:06 +00:00
2018-04-09 16:32:12 +00:00
<div class="content">
<p>Bulma has <a href="{{ variables_file_url }}" target="_blank">5 breakpoints</a>:</p>
<ul>
{% for breakpoint_hash in site.data.breakpoints %}
{% assign breakpoint = breakpoint_hash[1] %}
<li><code>{{ breakpoint.id }}</code>: {% if breakpoint.id == 'mobile' %}up to <code>{{ breakpoint.to }}px</code>{% else %}from <code>{{ breakpoint.from }}px</code>{% endif %}</li>
{% endfor %}
</ul>
2017-12-06 23:48:35 +00:00
2018-04-09 16:32:12 +00:00
<p>Bulma uses <a href="{{ mixins_file_url }}" target="_blank">9 responsive mixins</a>:</p>
<ul>
{% for breakpoint_hash in site.data.breakpoints %}
{% assign breakpoint = breakpoint_hash[1] %}
{% case breakpoint.id %}
{% when 'mobile' %}
<li>
<code>={{ breakpoint.id }}</code><br>
until <code>{{ breakpoint.to }}px</code>
</li>
{% when 'fullhd' %}
<li>
<code>={{ breakpoint.id }}</code><br>
from <code>{{ breakpoint.from }}px</code>
</li>
{% else %}
<li>
<code>={{ breakpoint.id }}</code><br>
from <code>{{ breakpoint.from }}px</code>
</li>
<li>
<code>={{ breakpoint.id }}-only</code><br>
from <code>{{ breakpoint.from }}px</code> and until <code>{{ breakpoint.to }}px</code>
</li>
{% if breakpoint.id == 'tablet' %}
<li>
<code>=touch</code><br>
until <code>{{ breakpoint.to }}px</code>
</li>
{% endif %}
{% endcase %}
{% endfor %}
</ul>
</div>
2017-03-14 21:19:06 +00:00
2018-09-04 13:26:02 +00:00
<div class="table-container">
<table class="table is-bordered">
<thead>
<tr>
{% for breakpoint_hash in site.data.breakpoints %}
{% assign breakpoint = breakpoint_hash[1] %}
<th style="width: 20%;">
{{ breakpoint.name }}<br>
{% if breakpoint.id == 'mobile' %}
Up to <code>{{ breakpoint.to }}px</code>
{% elsif breakpoint.id == 'fullhd' %}
<code>{{ breakpoint.from }}px</code> and above
{% else %}
Between <code>{{ breakpoint.from }}px</code> and <code>{{ breakpoint.to }}px</code>
{% endif %}
</th>
{% endfor %}
</tr>
</thead>
<tbody>
<tr>
<td>
<p class="notification is-success">mobile</p>
</td>
<td colspan="4">
<p class="notification">-</p>
</td>
</tr>
<tr>
<td>
<p class="notification">-</p>
</td>
<td colspan="4">
<p class="notification is-success">tablet</p>
</td>
</tr>
<tr>
<td colspan="2">
<p class="notification">-</p>
</td>
<td colspan="3">
<p class="notification is-success">desktop</p>
</td>
</tr>
<tr>
<td colspan="3">
<p class="notification">-</p>
</td>
<td colspan="2">
<p class="notification is-success">widescreen</p>
</td>
</tr>
<tr>
<td colspan="4">
<p class="notification">-</p>
</td>
<td>
<p class="notification is-success">fullhd</p>
</td>
</tr>
<tr>
<td>
<p class="notification">-</p>
</td>
<td>
<p class="notification is-success">tablet-only</p>
</td>
<td colspan="3">
<p class="notification">-</p>
</td>
</tr>
<tr>
<td colspan="2">
<p class="notification">-</p>
</td>
<td>
<p class="notification is-success">desktop-only</p>
</td>
<td colspan="2">
<p class="notification">-</p>
</td>
</tr>
<tr>
<td colspan="3">
<p class="notification">-</p>
</td>
<td>
<p class="notification is-success">widescreen-only</p>
</td>
<td>
<p class="notification">-</p>
</td>
</tr>
<tr>
<td colspan="2">
<p class="notification is-success">touch</p>
</td>
<td colspan="3">
<p class="notification">-</p>
</td>
</tr>
<tr>
<td colspan="3">
<p class="notification is-success">until-widescreen</p>
</td>
<td colspan="2">
<p class="notification">-</p>
</td>
</tr>
<tr>
<td colspan="4">
<p class="notification is-success">until-fullhd</p>
</td>
<td colspan="1">
<p class="notification">-</p>
</td>
</tr>
</tbody>
</table>
</div>
{% assign vernum = site.data.meta.version | downcase | remove: "." | plus: 0 %}
2018-04-10 09:55:39 +00:00
2018-04-13 15:15:13 +00:00
{% if vernum >= 70 %}
2017-12-06 23:48:35 +00:00
2018-04-09 21:25:26 +00:00
{% include elements/anchor.html name="Disabling breakpoints" %}
2018-04-13 15:15:13 +00:00
{% include elements/new-tag.html version="0.7.0" %}
2017-12-06 23:48:35 +00:00
2018-04-09 16:32:12 +00:00
<div class="content">
<p>
2018-07-21 23:25:37 +00:00
By default, the <code>$widescreen</code> and <code>$fullhd</code> breakpoints are <strong>enabled</strong>. You can disable them by setting the corresponding Sass boolean to <code>false</code>:
2018-04-09 16:32:12 +00:00
</p>
</div>
2018-04-08 19:11:48 +00:00
2018-04-09 16:32:12 +00:00
<div class="highlight-full">
{% highlight sass %}{{ scss_code }}{% endhighlight %}
</div>
2018-04-08 19:11:48 +00:00
2018-04-13 15:15:13 +00:00
{% endif %}
2018-06-16 20:12:34 +00:00
{% capture custom_message %}
These are <a href="{{ derived_variables.file_url }}" target="_blank">variables</a> with a value that <strong>references</strong> another variable.
{% endcapture %}
2018-04-08 19:11:48 +00:00
2018-06-16 20:12:34 +00:00
{% include elements/variables.html
type='element'
variables_keys=page.variables_keys
custom_message=custom_message
2018-06-19 12:33:54 +00:00
folder='utilities'
file='initial-variables'
2018-06-16 20:12:34 +00:00
%}