-2

I'd like to know that what is the code equivalent to this css code?

*,
*::before,
*::after { 
  box-sizing: border-box;
}

On the other hands, can I write some codes that would be equivalent it? I cannot use exactly this code in my project because when I use it, that project page layout will damaged.

you can see the code here. I want to use it as a card in my project.

Update: In the other way, I want to write this code so I do not have to use *. because * is general and I need to use just for a part of my css code.

Update 2:

<ul class="cards">
  <li class="cards__item">
    <div class="card">
      <div class="card__image card__image--fence"></div>
      <div class="card__content">
        <div class="card__title">Flex</div>
        <p class="card__text">This is the shorthand for flex-grow, flex-shrink and flex-basis combined. The second and third parameters (flex-shrink and flex-basis) are optional. Default is 0 1 auto. </p>
        <button class="btn btn--block card__btn">Button</button>
      </div>
    </div>
  </li>
</ul>

CSS code:

*,
*::before,
*::after {
  box-sizing: border-box;
}


img {
  height: auto;
  max-width: 100%;
  vertical-align: middle;
}
.btn {
  background-color: white;
  border: 1px solid #cccccc;
  color: #696969;
  padding: 0.5rem;
  text-transform: lowercase;
}
.btn--block {
  display: block;
  width: 100%;
}
.cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}
.cards__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 1rem;
}
@media (min-width: 40rem) {
  .cards__item {
    width: 50%;
  }
}
@media (min-width: 56rem) {
  .cards__item {
    width: 33.3333%;
  }
}
.card {
  background-color: white;
  border-radius: 0.25rem;
  box-shadow: 0 20px 40px -14px rgba(0, 0, 0, 0.25);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow: hidden;
}
.card:hover .card__image {
  -webkit-filter: contrast(100%);
          filter: contrast(100%);
}
.card__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 1rem;
}
.card__image {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
  -webkit-filter: contrast(70%);
          filter: contrast(70%);
  overflow: hidden;
  position: relative;
  -webkit-transition: -webkit-filter 0.5s cubic-bezier(0.43, 0.41, 0.22, 0.91);
  transition: -webkit-filter 0.5s cubic-bezier(0.43, 0.41, 0.22, 0.91);
  transition: filter 0.5s cubic-bezier(0.43, 0.41, 0.22, 0.91);
  transition: filter 0.5s cubic-bezier(0.43, 0.41, 0.22, 0.91), -webkit-filter 0.5s cubic-bezier(0.43, 0.41, 0.22, 0.91);
}
.card__image::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
@media (min-width: 40rem) {
  .card__image::before {
    padding-top: 66.6%;
  }
}
.card__image--flowers {
  background-image: url(https://unsplash.it/800/600?image=82);
}
.card__image--river {
  background-image: url(https://unsplash.it/800/600?image=11);
}
.card__image--record {
  background-image: url(https://unsplash.it/800/600?image=39);
}
.card__image--fence {
  background-image: url(https://unsplash.it/800/600?image=59);
}
.card__title {
  color: #696969;
  font-size: 1.25rem;
  font-weight: 300;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.card__text {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  font-size: 0.875rem;
  line-height: 1.5;
  margin-bottom: 1.25rem;
}
x19
  • 8,277
  • 15
  • 68
  • 126
  • https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing read about it here – Yordan Ramchev Dec 12 '17 at 14:02
  • 4
    Since it is code, there is no code "equivalent". It sets **every** element and pseudo-element to `box-sizing: border-box`...and you can read up on that. – Paulie_D Dec 12 '17 at 14:03
  • What do you mean the "code equivalent" ? You want to apply these styles with JavaScript? – GMchris Dec 12 '17 at 14:05
  • 1
    This question doesn’t make much sense - you are showing us _code_, and are asking us how to re-rewrite that _“as code”_ ...? _“I cannot use exactly this code in my project because when I use it, that project page layout will damaged”_ - if you want to apply box-sizing in a more limited scope ... well then use different selectors, that only target the elements you want. – CBroe Dec 12 '17 at 14:06
  • *::before, *::after is unnecessary – VXp Dec 12 '17 at 14:06
  • @VXp _“*::before, *::after is unnecessary”_ - not if you want to specify a default box-sizing for pseudo elements as well - `*` explicitly selects “real” elements only. – CBroe Dec 12 '17 at 14:07
  • In the other way, I want to write this code so I do not have to use *. because * is general and I need to use just for a part of my css code. – x19 Dec 12 '17 at 14:09
  • @CBroe Any reference to your statement? :) – VXp Dec 12 '17 at 14:10
  • 2
    Reading the update to your question, I wonder: are you asking how CSS selectors work? If so, your question is *too broad*. If not, I'd say your question is *unclear* as is. – domsson Dec 12 '17 at 14:12
  • 1
    He wants the same CSS to just apply to one section of his page, not the entire page. Easy, and not unclear to me. – GC_ Dec 12 '17 at 14:37
  • 1
    @Jahan Post the html section you wish to target. Is it a div or something like that? – GC_ Dec 12 '17 at 14:38
  • The question is pretty clear... SO has gotten mad stupid lately. People love to just circlejerk about how the OP asked the question wrong. – Tallboy Dec 13 '17 at 23:59

1 Answers1

0

Try formatting it it exactly like this:

html {
  box-sizing: border-box;
}

*, *:before, *:after {
  box-sizing: inherit;
}

If that doesn't work, you can target only the specific thing you're wanting to be border box without affecting the entire layout by just doing:

.some-class-here {
  box-sizing: border-box;
}
Tallboy
  • 12,847
  • 13
  • 82
  • 173