Правильний спосіб створення закруглених кутів у Twitter Bootstrap


79

Я щойно розпочав роботу з Twitter Bootstrap, і ось одне питання.

Я створюю власний <header>блок, і я хочу, щоб його нижні кути були округлені.

Чи існує якийсь "правильний" спосіб зробити це за допомогою заздалегідь визначених класів, або я повинен вказати це вручну, як:

border-radius: 10px;               // and all that cross-browser trumpery

На даний момент я використовую cssстилі. Може, краще буде використовувати lessдля цього випуску?


перевіряйте це нещодавно я спробував лівий квадрат вправо округлий, надія комусь допомагає
— Shaiju T

Я припускаю, що за допомогою "заздалегідь визначених класів" ви просто хочете додати клас до свого <header>і надати йому закруглені кути, і, як правило, зробити його вигляд завантажувальним. Ось як: stackoverflow.com/a/29383075/1450294
— Майкл Шепер

Відповіді:


67

Я думаю, це те, що ви шукаєте: http://blogsh.de/tag/bootstrap-less/

@import 'bootstrap.less';
div.my-class {
    .border-radius( 5px );
}

Ви можете використовувати його, оскільки існує міксин:

.border-radius(@radius: 5px) {
  -webkit-border-radius: @radius;
     -moz-border-radius: @radius;
          border-radius: @radius;
}

Для Bootstrap 3 є 4 суміші, які ви можете використовувати ...

.border-top-radius(@radius);
.border-right-radius(@radius);
.border-bottom-radius(@radius);
.border-left-radius(@radius);

або ви можете зробити свій власний мікшин, використовуючи верхні 4, щоб зробити це одним пострілом.

.border-radius(@radius){
    .border-top-radius(@radius);
    .border-right-radius(@radius);
    .border-bottom-radius(@radius);
    .border-left-radius(@radius);
}

6
Отже, я повинен використовувати lessдля цього, а це неможливо bootstrap.css?
— Едвард Ручевіц,

Bootstrap3 не має такого змішування.
— Колюня

1
Запитання, яке задається „попередньо визначеними класами” - ви створюєте класи тут. Дивіться цю відповідь для наперед визначених класів: stackoverflow.com/a/29383075/1450294
— Майкл Шепер

Кожен із комбінацій ярликів Bootstrap 3 (.border-top-radius, .border-right-radius тощо) закружляє 2 кути, тому ви можете округлити всі 4 за допомогою mixin .border-radius, використовуючи лише лівий та правий, або верхній і знизу. Ви також можете закруглити 3 кути за допомогою відповідної комбінації, наприклад, зверху та ліворуч буде округлено лівий лівий, верхній лівий та верхній правий кути.
— Kevin Jhangiani

Chrome видає попередження про зловмисне програмне забезпечення для цього сайту blogsh.de
— stef

94

<div class="img-rounded"> надасть вам закруглені кути.


15
@EdwardRuchevits Ні. Це прекрасно працює і на divs. Мені не подобається користуватися ним, оскільки він трохи заплутаний, але він працює.
— coderpro.net

Якщо це не зображення, це, швидше за все, панель, і для цього теж є синтаксично правильний клас: stackoverflow.com/a/29383075/1450294
— Майкл Шепер

17

Bootstrap - це просто великий, корисний, але простий CSS-файл - не фреймворк або щось, що ви не можете замінити. Я кажу це, тому що я помітив, що багато розробників стикаються з класами BS і стають ледачими кодерами "Я не можу більше писати CSS-код" (звичайно, це не ваш випадок!

Якщо в ньому є щось, що вам потрібно, перейдіть до класів Bootstrap - якщо ні, напишіть свій додатковий код в добрий ol ' style.css.

Щоб мати найкраще з обох світів, ви можете писати власні декларації МЕНШЕ і перекомпілювати все це відповідно до своїх потреб, мінімізуючи запит сервера як бонус.


8
Так, авжеж. :) Просто не хочу вигадувати велосипед.
— Едвард Ручевіц,

8
ви маєте на увазі заново винайти колесо :)
— Шервін Асгарі

52
Винайти велосипед було б чудово.
— OpenCoderX

3
Це пролив на велосипеді про аналогії з велосипедними колесами? #humour
— Obscaenvs

Я думаю, що стурбованість тим, що відбувається, коли велосипед підводиться - він хоче, щоб його віджет все ще вміщався. (Я маю на увазі це з усією серйозністю, хоча це може звучати дещо сумно. 😏) Проблема безпосереднього маніпулювання CSS полягає в тому, що він може не відповідати загальній темі, особливо якщо тема змінюється, наприклад, з плагіном або оновленням Bootstrap . Я б стверджував, що використання відповідного класу CSS не є більш «лінивим», ніж використання відповідної константи в коді, замість того, щоб вводити магічне число.
— Michael Scheper

10

Відповідно до документації bootstrap 3.0. немає ні закруглені кути клас або ідентифікатор для сну тега .

Ви можете використовувати поведінку кола для зображення за допомогою

<img class="img-circle"> 

або просто використовувати власні border-radiusвластивості css3 у css

для нижнього округленого кутового шару використовуйте наступне

border-bottom-left-radius:25%; // i use percentage  u can use pix.
border-bottom-right-radius:25%;// i use percentage  u can use pix.

якщо ви хочете реагувати на круговий div, спробуйте це

посилається з Responsive CSS Circles


10

Вам потрібна панель Bootstrap . Просто додайте panelклас, і ваш заголовок буде виглядати однорідним. Ви можете також додавати класи panel panel-info, panel panel-successі т.д. Це працює для майже будь-якого елементу блоку, і повинен працювати з <header>, але я очікую , що це буде використовуватися в основному з <div>с.


8

Без менших значень, просто для даного div:

У css:

.footer {
background-color: #ab0000;
padding-top: 40px;
padding-bottom: 10px;
border-radius:5px;
}

У html:

 <div class="footer">
        <p>blablabla</p>
      </div>

4

За допомогою bootstrap4 ви можете легко зробити це так: -

class="rounded" 

або

class="rounded-circle"

0

Якщо ви використовуєте Bootstrap Sass , ось ще один спосіб, який дозволяє уникнути необхідності додавати додаткові класи до розмітки елементів:

@import "bootstrap/mixins/_border-radius";
@import "bootstrap/_variables";

.your-class {
  $r: $border-radius-base; // or $border-radius-large, $border-radius-small, ...
  @include border-top-radius($r);
  @include border-bottom-radius($r);
}

0

У Bootstrap 4 правильним способом обмежувати ваші елементи є називати їх наступним чином у списку класів ваших елементів:

For a slight rounding effect on all corners; class="rounded"
For a slight rounding on the left; class="rounded-left"
For a slight rounding on the top; class="rounded-top"
For a slight rounding on the right; class="rounded-right"
For a slight rounding on the bottom; class="rounded-bottom" 
For a circle rounding, i.e. your element is made circular; class="rounded-circle"
And to remove rounding effects; class="rounded-0"

Щоб використовувати CSS-файли Bootstrap 4, ви можете просто скористатися CDN і скористатися таким посиланням у вашому файлі HTML:

<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>

Це забезпечить вас основами Bootstrap 4. Однак, якщо ви хочете використовувати більшість компонентів Bootstrap 4, включаючи підказки, поповери та випадаючі меню, тоді вам краще використовувати такий код:

<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>

Крім того, ви можете встановити Bootstrap, використовуючи NPM, або Bower, і посилатись на файли там.

* Зверніть увагу, що нижній тег із трьох збігається з першим тегом на шляху першого посилання.

Повним робочим прикладом може бути:

<img src="path/to/my/image/image.jpg" width="150" height="150" class="rounded-circle mx-auto">

У наведеному вище прикладі зображення центрується за допомогою автоматичного поля Bootstrap ліворуч та праворуч.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.