Add class only on mobile - Vuejs and bootstrap
up vote
2
down vote
favorite
I want to add a class only on mobile. I have done this before using vuetify however it seems more difficult with vue:
code:
<div class="{'mobileSnackBar': breakpoint.xs}">
<p> This is my snackbar </p>
</div>
in vuetify you have the $vuetify.breakpoint.xs
however how would i get a similar effect with bootstrap? Or please recommend an alternative.
vue.js vuejs2 bootstrap-4
add a comment |
up vote
2
down vote
favorite
I want to add a class only on mobile. I have done this before using vuetify however it seems more difficult with vue:
code:
<div class="{'mobileSnackBar': breakpoint.xs}">
<p> This is my snackbar </p>
</div>
in vuetify you have the $vuetify.breakpoint.xs
however how would i get a similar effect with bootstrap? Or please recommend an alternative.
vue.js vuejs2 bootstrap-4
Why are you not using a CSS mediaquery?
– connexo
Nov 18 at 13:10
Well because with vuetify, this method was much cleaner. Hence I am looking for a similar alternative
– Otto
Nov 18 at 13:15
1
Misusing JS for what is naturally CSS' job is never "much cleaner". The opposite is true.
– connexo
Nov 18 at 13:16
Do you have an attempted Vue snippet?
– Zim
Nov 18 at 13:58
add a comment |
up vote
2
down vote
favorite
up vote
2
down vote
favorite
I want to add a class only on mobile. I have done this before using vuetify however it seems more difficult with vue:
code:
<div class="{'mobileSnackBar': breakpoint.xs}">
<p> This is my snackbar </p>
</div>
in vuetify you have the $vuetify.breakpoint.xs
however how would i get a similar effect with bootstrap? Or please recommend an alternative.
vue.js vuejs2 bootstrap-4
I want to add a class only on mobile. I have done this before using vuetify however it seems more difficult with vue:
code:
<div class="{'mobileSnackBar': breakpoint.xs}">
<p> This is my snackbar </p>
</div>
in vuetify you have the $vuetify.breakpoint.xs
however how would i get a similar effect with bootstrap? Or please recommend an alternative.
vue.js vuejs2 bootstrap-4
vue.js vuejs2 bootstrap-4
edited Nov 19 at 13:13
Traxo
3,85511438
3,85511438
asked Nov 18 at 13:05
Otto
1369
1369
Why are you not using a CSS mediaquery?
– connexo
Nov 18 at 13:10
Well because with vuetify, this method was much cleaner. Hence I am looking for a similar alternative
– Otto
Nov 18 at 13:15
1
Misusing JS for what is naturally CSS' job is never "much cleaner". The opposite is true.
– connexo
Nov 18 at 13:16
Do you have an attempted Vue snippet?
– Zim
Nov 18 at 13:58
add a comment |
Why are you not using a CSS mediaquery?
– connexo
Nov 18 at 13:10
Well because with vuetify, this method was much cleaner. Hence I am looking for a similar alternative
– Otto
Nov 18 at 13:15
1
Misusing JS for what is naturally CSS' job is never "much cleaner". The opposite is true.
– connexo
Nov 18 at 13:16
Do you have an attempted Vue snippet?
– Zim
Nov 18 at 13:58
Why are you not using a CSS mediaquery?
– connexo
Nov 18 at 13:10
Why are you not using a CSS mediaquery?
– connexo
Nov 18 at 13:10
Well because with vuetify, this method was much cleaner. Hence I am looking for a similar alternative
– Otto
Nov 18 at 13:15
Well because with vuetify, this method was much cleaner. Hence I am looking for a similar alternative
– Otto
Nov 18 at 13:15
1
1
Misusing JS for what is naturally CSS' job is never "much cleaner". The opposite is true.
– connexo
Nov 18 at 13:16
Misusing JS for what is naturally CSS' job is never "much cleaner". The opposite is true.
– connexo
Nov 18 at 13:16
Do you have an attempted Vue snippet?
– Zim
Nov 18 at 13:58
Do you have an attempted Vue snippet?
– Zim
Nov 18 at 13:58
add a comment |
1 Answer
1
active
oldest
votes
up vote
4
down vote
accepted
With vuetify you can do:
computed: {
is_screen_small() {
return this.$vuetify.breakpoint.smOnly
},
}
And combine it like this:
<div class="{'mobileSnackBar': is_screen_small}">
<p> This is my snackbar </p>
</div>
Please make sure you read vuetify docs for breakpoints to know more.
However as I know with bootstrap the only way is to use media queries:
// Small devices
@media (max-width: 760px) {
//Add your style here
}
Though, there is a solution which is not related to bootstrap:
computed: {
is_mobile() {
const isMobile = window.matchMedia("only screen and (max-width: 760px)")
return isMobile.matches ? true : false
}
}
And combine it like :
<div class="{'mobileSnackBar': is_mobile}">
<p> This is my snackbar </p>
</div>
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
4
down vote
accepted
With vuetify you can do:
computed: {
is_screen_small() {
return this.$vuetify.breakpoint.smOnly
},
}
And combine it like this:
<div class="{'mobileSnackBar': is_screen_small}">
<p> This is my snackbar </p>
</div>
Please make sure you read vuetify docs for breakpoints to know more.
However as I know with bootstrap the only way is to use media queries:
// Small devices
@media (max-width: 760px) {
//Add your style here
}
Though, there is a solution which is not related to bootstrap:
computed: {
is_mobile() {
const isMobile = window.matchMedia("only screen and (max-width: 760px)")
return isMobile.matches ? true : false
}
}
And combine it like :
<div class="{'mobileSnackBar': is_mobile}">
<p> This is my snackbar </p>
</div>
add a comment |
up vote
4
down vote
accepted
With vuetify you can do:
computed: {
is_screen_small() {
return this.$vuetify.breakpoint.smOnly
},
}
And combine it like this:
<div class="{'mobileSnackBar': is_screen_small}">
<p> This is my snackbar </p>
</div>
Please make sure you read vuetify docs for breakpoints to know more.
However as I know with bootstrap the only way is to use media queries:
// Small devices
@media (max-width: 760px) {
//Add your style here
}
Though, there is a solution which is not related to bootstrap:
computed: {
is_mobile() {
const isMobile = window.matchMedia("only screen and (max-width: 760px)")
return isMobile.matches ? true : false
}
}
And combine it like :
<div class="{'mobileSnackBar': is_mobile}">
<p> This is my snackbar </p>
</div>
add a comment |
up vote
4
down vote
accepted
up vote
4
down vote
accepted
With vuetify you can do:
computed: {
is_screen_small() {
return this.$vuetify.breakpoint.smOnly
},
}
And combine it like this:
<div class="{'mobileSnackBar': is_screen_small}">
<p> This is my snackbar </p>
</div>
Please make sure you read vuetify docs for breakpoints to know more.
However as I know with bootstrap the only way is to use media queries:
// Small devices
@media (max-width: 760px) {
//Add your style here
}
Though, there is a solution which is not related to bootstrap:
computed: {
is_mobile() {
const isMobile = window.matchMedia("only screen and (max-width: 760px)")
return isMobile.matches ? true : false
}
}
And combine it like :
<div class="{'mobileSnackBar': is_mobile}">
<p> This is my snackbar </p>
</div>
With vuetify you can do:
computed: {
is_screen_small() {
return this.$vuetify.breakpoint.smOnly
},
}
And combine it like this:
<div class="{'mobileSnackBar': is_screen_small}">
<p> This is my snackbar </p>
</div>
Please make sure you read vuetify docs for breakpoints to know more.
However as I know with bootstrap the only way is to use media queries:
// Small devices
@media (max-width: 760px) {
//Add your style here
}
Though, there is a solution which is not related to bootstrap:
computed: {
is_mobile() {
const isMobile = window.matchMedia("only screen and (max-width: 760px)")
return isMobile.matches ? true : false
}
}
And combine it like :
<div class="{'mobileSnackBar': is_mobile}">
<p> This is my snackbar </p>
</div>
edited Nov 18 at 14:33
answered Nov 18 at 14:18
roli roli
2,425817
2,425817
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53361181%2fadd-class-only-on-mobile-vuejs-and-bootstrap%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Why are you not using a CSS mediaquery?
– connexo
Nov 18 at 13:10
Well because with vuetify, this method was much cleaner. Hence I am looking for a similar alternative
– Otto
Nov 18 at 13:15
1
Misusing JS for what is naturally CSS' job is never "much cleaner". The opposite is true.
– connexo
Nov 18 at 13:16
Do you have an attempted Vue snippet?
– Zim
Nov 18 at 13:58