Как отменить right left css

Сброс / удаление стилей CSS только для элемента

Я уверен, что это должно было быть упомянуто/задано раньше, но искали возраст без везения, моя терминология должна быть неправильной!

Я смутно помню твит, который я видел некоторое время назад, который предположил, что существует правило css, которое удалит любые стили, ранее установленные в таблице стилей для определенного элемента.

хорошим примером использования может быть сайт mobile-first RWD, где большая часть стиля используется для определенного элемента в представления с малым экраном необходимо «сбросить» или Удалить для того же элемента в представлении рабочего стола.

правило css, которое может достичь чего-то вроде:

таким образом, мы могли бы быстро удалить или переустановить стиль без необходимости объявлять каждое свойство.

14 ответов

на CSS3 с сайта initial задает CSS3 свойство начального значения, как определено в спецификации. The initial ключевое слово широкая поддержка браузеров за исключением IE и Opera Mini семей.

поскольку отсутствие поддержки IE может вызвать проблему, вот некоторые из способов, которыми вы можете сбросить некоторые свойства CSS до их начальных значений:

как упоминалось в комментарии @user566245:

это правильно в принципе, но отдельные пробег может варьироваться. Для пример некоторые элементы, такие как textarea по умолчанию имеют границу, применение этого сброса отобразит границу textarea меньше.

[POST EDIT FEB 4, ‘ 17] Upvoted для того, чтобы стать современной нормой, пользователь Юст

например, если автор указывает all: initial на элементе, он будет заблокируйте все наследование и сбросьте все свойства, как будто нет правил появляется на уровне автора, пользователя или агента пользователя каскада.

это может быть полезно для корневого элемента «виджета», включенного в страница, которая не хочет наследовать стили внешней страницы. Обратите внимание, однако, что любой стиль» по умолчанию » применяется к этому элементу (например как, например, дисплей: блок из таблицы стилей UA на элементах блока, таких как as ) также будет сдуто.

никто не думал, кроме css, чтобы сбросить css? Да?

getElementsByTagName («* » ) вернет все элементы из DOM. Тогда ты может устанавливать стили для каждого элемента в коллекции:

ответил 9 февраля ‘ 13 в 20: 15 по VisioN

для сравнения, вот Firefox 40.0 список значений

здесь font-style: oblique запускает операцию DOM.

для будущих читателей. Я думаю, что это то, что подразумевалось, но в настоящее время не очень широко поддерживается (см. ниже):

позвольте мне ответить на этот вопрос подробно, потому что это было источником боли для меня в течение нескольких лет, и очень немногие люди действительно понимают проблему и почему это важно для ее решения. Если бы я вообще отвечал за спецификацию CSS, я был бы смущен, честно говоря, за то, что не занимался этим в последнее десятилетие.

Проблема

нужно вставить разметку в HTML-документ, и он должен выглядеть определенным образом. Кроме того, вы не является владельцем этого документа, поэтому вы не можете изменить существующие правила стиля. Вы понятия не имеете, что таблицы стилей мог бы быть, или что они могут изменить.

случаи использования для этого, когда вы предоставляете отображаемый компонент для неизвестных сторонних веб-сайтов для использования. Примерами этого могут служить:

Простое Исправление

Поместите все в iframe. Это имеет свой собственный набор ограничений:

Если ваш контент can укладывается в коробку, вы можете получить вокруг проблемы №1, имея ваш контент, напишите iframe и явно установите контент, таким образом, обходя проблему, так как iframe и документ будут иметь один и тот же домен.

решение CSS

Я искать далеко и широко для решения этой проблемы, но, к сожалению, нет. Лучшее, что вы можете сделать, это явно переопределить все возможные свойства, которые можно переопределить, и переопределить их на то, что вы думаю их значение по умолчанию должно быть.

для этой проблемы найдено совершенно новое решение.

вам нужно «доступно правило css, которое удалит все стили, ранее заданные в таблице стилей для определенного элемента.»

Итак, если элемент имеет имя класса, например remove-all-styles :

или в вашем случае:

здесь мы использовали одно классное свойство CSS с другим классным значением CSS.

и когда мы используем revert С all свойства, все свойства CSS примененный к этому элементу будет возвращен к стилям user/user-agent.

например: если мы хотим изолировать встроенные виджеты / компоненты от стилей страницы, которая их содержит, мы могли бы написать:

который вернет все author styles (т. е. разработчик CSS) в user styles (стили, которые a пользователь нашего сайта set-less chance scenario) или к user-agent стили, если не установлены пользовательские стили.

и только поддержка: только Safari 9.1 и iOS Safari 9.3 поддерживают revert значение на момент написания.

поэтому я скажу, что используйте этот стиль и отступление к любым другим ответам.

Источник

How to remove margin-left for new line boxes css

I am generating boxes dynamically, I give margin-left between boxes when screen overflows it goes to next line but starts with margin-left. How to remove this margin left on next line.

Как отменить right left css

Как отменить right left css

7 Answers 7

You can instead give it margin-right 🙂

Remove margin-left from all div’s and add margin-right. If you want space to left, put all div’s inside a div and give margin-left or padding-left.

Как отменить right left css

Have a look at this, I think you’ll find an example for your intended use case: http://flexboxgrid.com/

You can target the offending margin with nth child CSS.

On desktop this would remove the margin left on every fourth item.

You could then adjust the nth child inside media queries for different screen sizes.

Check your CSS here

Как отменить right left css

I think you can use margin-right replace form margin left like this

Как отменить right left css

Simply do one thing just split your margin 10px to 5px and give each side like

Как отменить right left css

If you want to equally space the

If you must give a margin-left and every 6th element comes on its own row then you could also use the nth-of-type CSS psuedo-class on the div like this:

Lastly, as other answers have pointed out, you could also use a margin-right instead.

Как отменить right left css

Not the answer you’re looking for? Browse other questions tagged html css or ask your own question.

Related

Hot Network Questions

Subscribe to RSS

To subscribe to this RSS feed, copy and paste this URL into your RSS reader.

site design / logo © 2021 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2021.12.20.41044

By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.

Источник

2.4. CSS-позиционирование

Как отменить right left css

CSS рассматривает макет html-документа как дерево элементов. Уникальный элемент, у которого нет родительского элемента, называется корневым элементом. Модуль CSS-позиционирование описывает, как любой из элементов может быть размещен независимо от порядка документа (т.е. извлечен из «потока»).

В CSS2 каждый элемент в дереве документа генерирует ноль или более блоков в соответствии с блочной моделью. Модуль CSS3 дополняет и расширяет схему позиционирования. Расположение этих блоков регулируется:

Схемы позиционирования

В CSS блок элемента может быть расположен в соответствии с тремя схемами позиционирования:

Нормальный поток

Обтекание

Абсолютное позиционирование

Элементом «вне потока» может быть плавающий, абсолютно позиционированный или корневой элемент.

1. Содержащий блок

2. Выбор схемы позиционирования: свойство position

Свойство position определяет, какой из алгоритмов позиционирования используется для вычисления положения блока.

Свойство не наследуется.

Относительно позиционированный блок сохраняет свои размеры, включая разрывы строк и пространство, первоначально зарезервированное для него.

Относительно позиционированный блок создает новый содержащий блок для абсолютно позиционированных потомков.

Отступы margin абсолютно позиционированных блоков не схлопываются.

Содержимое абсолютно позиционированного элемента не может обтекать другие блоки. Абсолютно позиционированный блок могут скрывать содержимое другого блока (или сами могут быть скрыты), в зависимости от значения z-index перекрывающихся блоков.stickyПоложение блока рассчитывается в соответствии с нормальным потоком. Затем блок смещается относительно своего ближайшего предка с прокруткой или окна просмотра, если ни у одного из предков нет прокрутки.

«Липкий» блок может перекрывать другие блоки, а также создавать полосы прокрутки в случае переполнения.

«Липкий» блок сохраняет свои размеры, включая разрывы строк и пространство, первоначально зарезервированное для него.

«Липкий» блок создает новый содержащий блок для абсолютно и относительно позиционированных потомков.fixedФиксированное позиционирование аналогично абсолютному позиционированию, с отличием в том, что для содержащим блоком устанавливается окно просмотра. Такой блок полностью удаляется из потока документа и не имеет позиции относительно какой-либо части документа. Фиксированные блоки не перемещаются при прокрутке документа. В этом отношении они похожи на фиксированные фоновые изображения.

При печати фиксированные блоки повторяются на каждой странице, содержащим блоком для них устанавливается область страницы. Блоки с фиксированным положением, которые больше области страницы, обрезаются.initialУстанавливает значение свойства в значение по умолчанию.inheritНаследует значение свойства от родительского элемента.

Как отменить right left cssРис. 1. Разница между статичным, относительным и абсолютным позиционированием

3. Смещение блока: свойства top, right, bottom, left

top
Значение:
autoВлияние значения зависит от типа элемента. Значение по умолчанию.
длинаСмещение на фиксированном расстоянии от указанного края. Отрицательные значения допускаются.
%Процентные значения вычисляются относительно высоты содержащего блока. Для «липкого» блока — относительно высоты корневого элемента. Отрицательные значения допускаются.
initialУстанавливает значение свойства в значение по умолчанию.
inheritНаследует значение свойства от родительского элемента.

Свойство top задает расстояние, на которое верхний край абсолютно позиционированного блока (с учетом его margin ) смещается ниже верхнего края содержащего блока. Для относительно позиционированных блоков определяет смещение относительно верхнего края самого блока (то есть блоку задается позиция в нормальном потоке, а затем смещение от этой позиции в соответствии с этим свойством).

right
Значение:
autoВлияние значения зависит от типа элемента. Значение по умолчанию.
длинаСмещение на фиксированном расстоянии от указанного края. Отрицательные значения допускаются.
%Процентные значения вычисляются относительно ширины содержащего блока. Для «липкого» блока — относительно ширины корневого элемента. Отрицательные значения допускаются.
initialУстанавливает значение свойства в значение по умолчанию.
inheritНаследует значение свойства от родительского элемента.

Свойство right указывает расстояние, на которое правый край абсолютно позиционированного блока (с учетом его margin ) смещен влево от правого края содержащего блока. Для относительно позиционированных блоков определяет смещение относительно правого края самого блока.

bottom
Значение:
autoВлияние значения зависит от типа элемента. Значение по умолчанию.
длинаСмещение на фиксированном расстоянии от указанного края. Отрицательные значения допускаются.
%Процентные значения вычисляются относительно высоты содержащего блока. Для «липкого» блока — относительно высоты корневого элемента. Отрицательные значения допускаются.
initialУстанавливает значение свойства в значение по умолчанию.
inheritНаследует значение свойства от родительского элемента.

Свойство bottom указывает расстояние, на которое нижний край блока смещен вверх относительно нижнего края содержащего блока. Для относительно позиционированных блоков определяет смещение относительно нижнего края самого блока.

left
Значение:
autoВлияние значения зависит от типа элемента. Значение по умолчанию.
длинаСмещение на фиксированном расстоянии от указанного края. Отрицательные значения допускаются.
%Процентные значения вычисляются относительно ширины содержащего блока. Для «липкого» блока — относительно ширины корневого элемента. Отрицательные значения допускаются.
initialУстанавливает значение свойства в значение по умолчанию.
inheritНаследует значение свойства от родительского элемента.

Свойство left указывает расстояние, на которое левый край смещен вправо от левого края содержащего блока. Для относительно позиционированных блоков определяет смещение относительно левого края самого блока.

Положительные значения смещают элемент внутрь содержащего блока, а отрицательные — за его пределы.

4. Обтекание: свойство float

Обтекание позволяет блокам смещаться влево или вправо на текущей строке. «Плавающий блок» смещается влево или вправо до тех пор, пока его внешний край не коснется края содержащего блока или внешнего края другого плавающего блока. Если имеется линейный блок, внешняя верхняя часть плавающего блока выравнивается с верхней частью текущего линейного блока.

При использовании свойства float для элементов рекомендуется задавать ширину. Тем самым браузер создаст место для другого содержимого. Если для плавающего элемента недостаточно места по горизонтали, он будет смещаться вниз до тех пор, пока не уместится. При этом остальные элементы уровня блока будут его игнорировать, а элементы уровня строки будут смещаться вправо или влево, освобождая для него пространство и обтекая его.

Свойство не наследуется.

float
Значение:
noneОтсутствие обтекания. Значение по умолчанию.
leftЭлемент перемещается влево, содержимое обтекает плавающий блок по правому краю.
rightЭлемент перемещается вправо, содержимое обтекает плавающий блок по левому краю.
inheritНаследует значение свойства от родительского элемента.

Плавающий блок принимает размеры своего содержимого с учетом внутренних отступов и рамок. Верхние и нижние отступы margin плавающих элементов не схлопываются.

Как отменить right left cssРис. 2. Обтекание элементов

5. Управление потоком рядом с плавающими элементами: свойство clear

Свойство clear указывает, какие стороны блока/блоков элемента не должны прилегать к плавающим блокам, находящемся выше в исходном документе. В CSS2 и CSS 2.1 свойство применяется только к неплавающим элементам уровня блока.

Свойство не наследуется.

clear
Значение:
noneОзначает отсутствие ограничений на положение элемента относительно плавающих блоков. Значение по умолчанию.
leftСмещает элемент вниз относительно нижнего края любого плавающего слева элемента, находящемся выше в исходном документе.
rightСмещает элемент вниз относительно нижнего края любого плавающего справа элемента, находящемся выше в исходном документе.
bothСмещает элемент вниз относительно нижнего края любого плавающего слева и справа элемента, находящемся выше в исходном документе.
inheritНаследует значение свойства от родительского элемента.

Для предотвращения отображение фона или границ под плавающими элементами используется правило .

6. Определение контекста наложения: свойство z-index

В CSS каждый блок имеет позицию в трех измерениях. В дополнение к горизонтальному и вертикальному положению, блоки выкладываются вдоль оси Z друг над другом. Положение вдоль оси Z особенно важно, когда блоки визуально накладываются друг на друга.

Как отменить right left cssРис. 3. Положение элементов вдоль оси Z

Порядок, в котором дерево документа отрисовывается на экране, описывается с помощью контекста наложения. Каждый блок принадлежит одному контексту наложения. Каждый блок в данном контексте наложения имеет целочисленный уровень, который является его положением на оси Z относительно других блоков в том же контексте наложения.

Свойство z-index позволяет изменить порядок наложения позиционированных элементов в случае, когда они накладываются друг на друга.

Свойство не наследуется.

6.1. Контекст наложения

Если для элементов свойства z-index и position не заданы явно, контекст наложения равен порядку их расположения в исходном коде и браузер отображает элементы на странице в следующем порядке:

Источник

С мещение элементов в CSS

С войства BOTTOM, LEFT, RIGHT, TOP

Эти свойства определяют смещение между внешним краем позиционированного элемента и краем его родительского элемента: Top — от верхнего края, Bottom — от нижнего, Left и Right — от левого и правого. Если родитель у элемента отсутствует, то началом отсчёта служат границы окошка браузеров.

Область применения *: позиционированные элементы, для которых значение свойства Position отлично от static.

.element < position: absolute; top: 50px; right: 50px; height: 70px; width: 70px; border: 2px solid #000;>
.element < position: absolute; top: 50%; right: 50%; height: 70px; width: 70px; border: 2px solid #000;>
— в первом примере смещение задано в пикселах;
— во втором — в процентах, где высота элемента ровно в два раза меньше высоты родителя, выступ произошёл из-за ширины рамки, а в принципе можно чётко поместить элемент в один из углов родительского блока:

Как отменить right left css

Смещение элементов при абсолютном и относительном
позиционировании

В зависимости от значения свойства Position смещение элемента может быть неодинаково. При абсолютном позиционировании он смещается относительно границ родительского элемента, при относительном позиционировании, смещение происходит относительно нормального потока на заданные величины.

.element < position: absolute; bottom: 30px; left: 30px; height: 70px; width: 70px; border: 2px solid #000;>
— для элемента задано абсолютное позиционирование; в примере на второй картинке — всё то же самое, только позиционирование относительное, т.е. свойство Position со значением relative:

Как отменить right left css

Используются принятые в CSS единицы, отрицательные значения смещают элемент наружу. Для относительно позиционированных элементов значение свойства Left всегда равно значению свойства Right, но с противоположным знаком. Для элементов static значение всегда будет auto, т.е. ноль.

% — относительно высоты или ширины родительского элемента.
auto — если Bottom и Top имеют значение auto — то это для обоих будет 0; если одно из них auto — то оно принимает значение другого, но с противоположным знаком; если значение Top задано — то значение Bottom будет auto, т.е. ноль. Значения тестировались в браузере Сhrome.
inherit — наследование от родительского элемента.

Источник

Кастомный подход для нормализации и сброса стилей (custom-reset.css)

Как отменить right left css

Здесь я поделюсь своими наработками для нормализации и сброса стилей.
За несколько лет у меня сформировался небольшой файл, за основу которого, изначально, был взят нормалайз.

Почему нормалайз, а не ресет. Он заточен именно под кросбраузерность, что очень важно. Но в чистом виде он меня вообще не устраивал, различные отступы, бордеры и т. д. только мешали, потому я немного подогнал его под свои потребности, поудаляв то, что мне было не нужно.
Со временем файл разрастался, лишнее из нормалайза удалялось, недостающее добавлялось.
Основной целью его создания было максимально подготовить основу для любого проэкта, что по-моему получилось, даже очень удачно. Файл получился довольно универсальный, но все же перед подготовкой проэкта в него нужно заглядывать и возможно что-то коректировать.

Надеюсь вы подчеркнете для себя что-то полезное, здесь вы можете ознакомиться с ним.
custom-reset.css

Краткое описание

Определение блочной модели

Базовые настройки

Как отменить right left css

focus это важно, а outline нет

Состояние фокуса это очень важный момент для взаимодействия с интерективными элементами. (Как и почему здесь). Но outline зачастую не вписывается в дизайн. И сами дизайнеры редко прорисовывают это состоние, потому частой практикой стало дублирование стилей ховера.

Это ленивый способ.

Нормальные дизайнеры всегда прорисовывают состояние фокуса.

Три основных состояния должны всегда присутствовать на каждом интерактивном элементе ( :hover, :focus, :active ).

Как отменить right left css

Отступы

Отступы обнулены, текстовые свойства наследуются.

Если вам нужны отступы для пользовательского контента (а они нужны), должен быть свой класс обертка и свой стайлгайд.

Текстовый контент тоже нужно уметь правильно верстать выставляя правильные отступы и высоту строки.

О том, каким может быть пользовательский контент:

Как отменить right left css

Текстовые элементы

Полное наследование. Ссылки больше не синие, стронг не болд, ем не италик. Em, strong это семантические элементы, они используются не для оформления. Например для названиях товаров, в карточках. То что они имеют по дефолту стили не значит, что они будут нужны именно в том, месте где используется этот тег.

Цвет и подчеркивание ссылки мешает когда эта ссылка в виде кнопки или в виде большой кнопки с картинкой и текстом.

Элементы форм:

Удаляются полностью стили присвоенные кнопкам и инпутам, что может кому-то показаться спорным.

Бывает, возникают неудобства с кнопками при смене тегов, чаще всего это бывает с ссылки на кнопку и наоборот.

(Тег button нельзя использовать как флекс контейнер. На IOSах сломается.)

fieldset и legend

Часто встречал, что эти семантические элементы форм использовались в декоратиыных целях.

Как отменить right left css

Никогда так не делайте, это пример худшей практики. Вот пару примров с нормальной реализацией:

(Тег fieldset нельзя использовать как флекс контейнер. Не работает просто.)

select

Отменяем стандартное отображение select’а

→ Оформляем select сами: codepen

placeholder

Плейсхолдер наслудует цвет. Исчезает при фокусе.

Как отменить right left css

svg (работа с иконками)

Тег svg хоть и полноценный тег, который поддерживает любые свойства, я всегда использую для него обертку, которой и задаю размеры и цвет. Такой подход очень удобный для работы с спрайтами 2-х типов.

Расскажу, как мы работаем с иконками:

Иконочный шрифт мы не используем.

У нас есть 2 типа иконок:

— одноцветные
— цветные (иконки и мелкие изображения).

Все они в формате svg.

Для одноцветных используется svg спрайт, котрых хранится отдельно, и кешируется. Выглядит это так:

И инклюдится на страницу он так:

И стили для него: (этот код добавляется в файл)

Для цветных используется css спрайт:

Загружается css спрайт асинхронно

Генерируется это, понятное дело, галпом.

Что дает такой подход

Для иконки делается контейнер нужного размера и не зависимо от того, будет иконка цветной или нет, она в него отлично впишется.

Как отменить right left css

hidden

Атрибут, который скрывает элемент. Пригодится.

:disabled

Правильный курсор. Так как задизейбленной кнопкой может быть ссылка, то псевдокласс уже не сработает, так как ссылка не элемент формы. Для этого добавляйте класс.

Как отменить right left css

::-ms-clear

Псевдоэлемент в инпуте IE для очистки текста.

Как отменить right left css

:-webkit-autofill

Как отменить right left css

С помощью внутренней тени закрашиваем этот псевдоэлемент под нужный цвет. И наследует заданный цвет.

::selection

Как отменить right left css

Классы

.clearfix

Хоть сейчас во всю используются флексы, не стоит забывать про флоаты, и тем более не стоит забывать про чистку потока для флоатов.

.visually-hidden

Для семантики: Когда надо спрятать заголовок, который должен быть, но его нет в дизайне. Скрытие этим способом не игнорируется скринридером.

Для кастомизация цекбоксов/радиобаттонов:

Как отменить right left css

Скрывать с помощью display: none; или атрибута hidden плохая идея, так как инпут теряет способность получать фокус, а фокус (как мы знаем) это важно.

В работе с изображениями, а именно с тегом

есть некоторые сложности:

Но нельзя просто задать высоту обертке или изображению, потому что при ресайте страницы потеряются нужные пропорции.

И чтоб этого не происходило, высота задается за счет padding в % для псевдоэлемента обертки (:before). Как известно padding в % берет значение ширины родителя, не зависимо заданы вертикальные или горизонтальные значения.

(padding в % некоректно отображается в мозиле, если он задан флекс итему).

Само изображение нужно спозиционировать абсолютно относительно обертки. Когда необходимо, чтоб изображение занимало все пространство (на подобии background-size: cover;). Используется класс .cover-pic

Когда необходимо, чтоб изображение занимало не все пространство (на подобии background-size: contain;). Используется класс .contain-pic

В итоге получается:

Тем же методом сверстаны изображения в инстаграмме, только они нарезаются нужной формы и необходимость в object-fit отпадает.
→ Пример

Прижатие футера

Фикс при прижатии футера для IE. В блоке с min-height (которым в данном случае служит body) flex некоректно работает.

Выше показан один из самых оптимальных способов. Прижатие с помощью таблиц и гридов тоже не требует знать высоту футера, но табличный способ как-то не принято (и немного неудобно) использовать, а гриды не очень кросбраузерно.

Так почему не ресет или не нормалайз? Они не могут полноценно подготовить проект, в любом случае приходится немало дописывать, и потому практически у каждого верстальщика есть свои наработки.

Спасибо, что прочитали мою статью, надеюсь она будет вам полезна. Вопросы и предложения, идеи и замечания приветствуются.

P. S. Советую ознакомиться с публикацией Организация отступов в верстке (margin/padding). И советую использовать css линтеры. И кому интересно, может решить css задачку.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *