fomantic-ui
Version:
Fomantic empowers designers and developers by creating a shared vocabulary for UI.
610 lines (546 loc) • 15 kB
text/less
/*!
* # Fomantic-UI - Item
* https://github.com/fomantic/Fomantic-UI/
*
*
* Released under the MIT license
* https://opensource.org/licenses/MIT
*
*/
/*******************************
Theme
*******************************/
@type: "view";
@element: "item";
@import (multiple) "../../theme.config";
/*******************************
Standard
*******************************/
/* --------------
Item
--------------- */
.ui.items > .item {
display: @display;
margin: @itemSpacing 0;
width: @width;
min-height: @minHeight;
background: @background;
padding: @padding;
border: @border;
border-radius: @borderRadius;
box-shadow: @boxShadow;
transition: @transition;
z-index: @zIndex;
}
.ui.items > .item a {
cursor: pointer;
}
/* --------------
Items
--------------- */
.ui.items {
margin: @groupMargin;
}
.ui.items:first-child {
margin-top: 0 ;
}
.ui.items:last-child {
margin-bottom: 0 ;
}
/* --------------
Item
--------------- */
.ui.items > .item::after {
display: block;
content: " ";
height: 0;
clear: both;
overflow: hidden;
visibility: hidden;
}
.ui.items > .item:first-child {
margin-top: 0;
}
.ui.items > .item:last-child {
margin-bottom: 0;
}
& when (@variationItemImage) {
/* --------------
Images
--------------- */
.ui.items > .item > .image {
position: relative;
flex: 0 0 auto;
display: @imageDisplay;
float: @imageFloat;
margin: @imageMargin;
padding: @imagePadding;
max-height: @imageMaxHeight;
align-self: @imageVerticalAlign;
}
.ui.items > .item > .image > img {
display: block;
width: 100%;
height: auto;
border-radius: @imageBorderRadius;
border: @imageBorder;
}
.ui.items > .item > .image:only-child > img {
border-radius: @borderRadius;
}
}
/* --------------
Content
--------------- */
.ui.items > .item > .content {
display: block;
flex: 1 1 auto;
background: @contentBackground;
color: @contentColor;
margin: @contentMargin;
padding: @contentPadding;
box-shadow: @contentBoxShadow;
font-size: @contentFontSize;
border: @contentBorder;
border-radius: @contentBorderRadius;
}
.ui.items > .item > .content::after {
display: block;
content: " ";
height: 0;
clear: both;
overflow: hidden;
visibility: hidden;
}
.ui.items > .item > .image + .content {
min-width: 0;
width: @contentWidth;
display: @contentDisplay;
margin-left: @contentOffset;
align-self: @contentVerticalAlign;
padding-left: @contentImageDistance;
}
& when (@variationItemHeader) {
.ui.items > .item > .content > .header {
display: inline-block;
margin: @headerMargin;
font-family: @headerFont;
font-weight: @headerFontWeight;
color: @headerColor;
}
/* Default Header Size */
.ui.items > .item > .content > .header:not(.ui) {
font-size: @headerFontSize;
}
}
& when (@variationItemFloated) {
/* --------------
Floated
--------------- */
.ui.items > .item [class*="left floated"] {
float: left;
}
.ui.items > .item [class*="right floated"] {
float: right;
}
}
& when (@variationItemImage) {
/* --------------
Content Image
--------------- */
.ui.items > .item .content img {
align-self: @contentImageVerticalAlign;
width: @contentImageWidth;
}
.ui.items > .item img.avatar,
.ui.items > .item .avatar img {
width: @avatarSize;
height: @avatarSize;
border-radius: @avatarBorderRadius;
}
}
& when (@variationItemDescription) {
/* --------------
Description
--------------- */
.ui.items > .item > .content > .description {
margin-top: @descriptionDistance;
max-width: @descriptionMaxWidth;
font-size: @descriptionFontSize;
line-height: @descriptionLineHeight;
color: @descriptionColor;
}
}
/* --------------
Paragraph
--------------- */
.ui.items > .item > .content p {
margin: 0 0 @paragraphDistance;
}
.ui.items > .item > .content p:last-child {
margin-bottom: 0;
}
& when (@variationItemMeta) {
/* --------------
Meta
--------------- */
.ui.items > .item .meta {
margin: @metaMargin;
font-size: @metaFontSize;
line-height: @metaLineHeight;
color: @metaColor;
}
.ui.items > .item .meta * {
margin-right: @metaSpacing;
}
.ui.items > .item .meta :last-child {
margin-right: 0;
}
& when (@variationItemFloated) {
.ui.items > .item .meta [class*="right floated"] {
margin-right: 0;
margin-left: @metaSpacing;
}
}
}
/* --------------
Links
--------------- */
/* Generic */
.ui.items > .item > .content a:not(.ui) {
color: @contentLinkColor;
transition: @contentLinkTransition;
}
.ui.items > .item > .content a:not(.ui):hover {
color: @contentLinkHoverColor;
}
& when (@variationItemHeader) {
/* Header */
.ui.items > .item > .content > a.header {
color: @headerLinkColor;
}
.ui.items > .item > .content > a.header:hover {
color: @headerLinkHoverColor;
}
}
& when (@variationItemMeta) {
/* Meta */
.ui.items > .item .meta > a:not(.ui) {
color: @metaLinkColor;
}
.ui.items > .item .meta > a:not(.ui):hover {
color: @metaLinkHoverColor;
}
}
/* --------------
Labels
--------------- */
/* -----Star----- */
& when (@variationItemFavorite) {
/* Icon */
.ui.items > .item > .content .favorite.icon {
cursor: pointer;
opacity: @actionOpacity;
transition: @actionTransition;
}
.ui.items > .item > .content .favorite.icon:hover {
opacity: @actionHoverOpacity;
color: @favoriteColor;
}
.ui.items > .item > .content .active.favorite.icon {
color: @favoriteActiveColor;
}
}
& when (@variationItemLike) {
/* -----Like----- */
/* Icon */
.ui.items > .item > .content .like.icon {
cursor: pointer;
opacity: @actionOpacity;
transition: @actionTransition;
}
.ui.items > .item > .content .like.icon:hover {
opacity: @actionHoverOpacity;
color: @likeColor;
}
.ui.items > .item > .content .active.like.icon {
color: @likeActiveColor;
}
}
& when (@variationItemExtra) {
/* ----------------
Extra Content
----------------- */
.ui.items > .item .extra {
display: @extraDisplay;
position: @extraPosition;
background: @extraBackground;
margin: @extraMargin;
width: @extraWidth;
padding: @extraPadding;
top: @extraTop;
left: @extraLeft;
color: @extraColor;
box-shadow: @extraBoxShadow;
transition: @extraTransition;
border-top: @extraDivider;
}
.ui.items > .item .extra > * {
margin: (@extraRowSpacing / 2) @extraHorizontalSpacing (@extraRowSpacing / 2) 0;
}
& when (@variationItemFloated) {
.ui.items > .item .extra > [class*="right floated"] {
margin: (@extraRowSpacing / 2) 0 (@extraRowSpacing / 2) @extraHorizontalSpacing;
}
}
.ui.items > .item .extra::after {
display: block;
content: " ";
height: 0;
clear: both;
overflow: hidden;
visibility: hidden;
}
}
/*******************************
Responsive
*******************************/
/* Default Image Width */
.ui.items > .item > .image:not(.ui) {
width: @imageWidth;
}
/* Tablet Only */
@media only screen and (min-width: @tabletBreakpoint) and (max-width: @largestTabletScreen) {
.ui.items > .item {
margin: @tabletItemSpacing 0;
}
.ui.items > .item > .image:not(.ui) {
width: @tabletImageWidth;
}
.ui.items > .item > .image + .content {
display: block;
padding: 0 0 0 @tabletContentImageDistance;
}
}
/* Mobile Only */
@media only screen and (max-width: @largestMobileScreen) {
.ui.items:not(.unstackable) > .item {
flex-direction: column;
margin: @mobileItemSpacing 0;
}
.ui.items:not(.unstackable) > .item > .image {
display: block;
margin-left: auto;
margin-right: auto;
}
.ui.items:not(.unstackable) > .item > .image,
.ui.items:not(.unstackable) > .item > .image > img {
max-width: 100% ;
width: @mobileImageWidth ;
max-height: @mobileImageMaxHeight ;
}
.ui.items:not(.unstackable) > .item > .image + .content {
display: block;
padding: @mobileContentImageDistance 0 0;
}
}
/*******************************
Variations
*******************************/
& when (@variationItemAligned) {
/* -------------------
Aligned
-------------------- */
.ui.items > .item > .image + [class*="top aligned"].content {
align-self: flex-start;
}
.ui.items > .item > .image + [class*="middle aligned"].content {
align-self: center;
}
.ui.items > .item > .image + [class*="bottom aligned"].content {
align-self: flex-end;
}
}
& when (@variationItemRelaxed) {
/* --------------
Relaxed
--------------- */
.ui.relaxed.items > .item {
margin: @relaxedItemSpacing 0;
}
& when (@variationItemVeryRelaxed) {
.ui[class*="very relaxed"].items > .item {
margin: @veryRelaxedItemSpacing 0;
}
}
}
& when (@variationItemDivided) {
/* -------------------
Divided
-------------------- */
.ui.divided.items > .item {
border-top: @dividedBorder;
margin: @dividedMargin;
padding: @dividedPadding;
}
.ui.divided.items > .item:first-child {
border-top: none;
margin-top: @dividedFirstLastMargin ;
padding-top: @dividedFirstLastPadding ;
}
.ui.divided.items > .item:last-child {
margin-bottom: @dividedFirstLastMargin ;
padding-bottom: @dividedFirstLastPadding ;
}
& when (@variationItemRelaxed) {
/* Relaxed Divided */
.ui.relaxed.divided.items > .item {
margin: 0;
padding: @relaxedItemSpacing 0;
}
& when (@variationItemVeryRelaxed) {
.ui[class*="very relaxed"].divided.items > .item {
margin: 0;
padding: @veryRelaxedItemSpacing 0;
}
}
}
}
& when (@variationItemLink) {
/* -------------------
Link
-------------------- */
.ui.items a.item:hover,
.ui.link.items > .item:hover {
cursor: pointer;
}
& when (@variationItemHeader) {
.ui.items a.item:hover .content .header,
.ui.link.items > .item:hover .content .header {
color: @headerLinkHoverColor;
}
}
}
/* --------------
Size
--------------- */
.ui.items > .item {
font-size: @relativeMedium;
}
& when not (@variationItemSizes = false) {
each(@variationItemSizes, {
@s: @{value}ItemSize;
.ui.@{value}.items > .item {
font-size: @@s;
}
});
}
& when (@variationItemUnstackable) {
/* ---------------
Unstackable
---------------- */
@media only screen and (max-width: @largestMobileScreen) {
.ui.unstackable.items > .item > .image,
.ui.unstackable.items > .item > .image > img {
width: @unstackableMobileImageWidth ;
}
}
}
& when (@variationItemInverted) {
/* --------------
Inverted
--------------- */
.ui.inverted.items > .item {
background: @invertedBackground;
}
.ui.inverted.items > .item > .content {
background: @invertedContentBackground;
color: @invertedContentColor;
}
& when (@variationItemExtra) {
.ui.inverted.items > .item .extra {
background: @invertedExtraBackground;
}
}
& when (@variationItemHeader) {
.ui.inverted.items > .item > .content > .header {
color: @invertedHeaderColor;
}
}
& when (@variationItemDescription) {
.ui.inverted.items > .item > .content > .description {
color: @invertedDescriptionColor;
}
}
& when (@variationItemMeta) {
.ui.inverted.items > .item .meta {
color: @invertedMetaColor;
}
}
.ui.inverted.items > .item > .content a:not(.ui) {
color: @invertedContentLinkColor;
}
.ui.inverted.items > .item > .content a:not(.ui):hover {
color: @invertedContentLinkHoverColor;
}
& when (@variationItemHeader) {
.ui.inverted.items > .item > .content > a.header {
color: @invertedHeaderLinkColor;
}
.ui.inverted.items > .item > .content > a.header:hover {
color: @invertedHeaderLinkHoverColor;
}
}
& when (@variationItemMeta) {
.ui.inverted.items > .item .meta > a:not(.ui) {
color: @invertedMetaLinkColor;
}
.ui.inverted.items > .item .meta > a:not(.ui):hover {
color: @invertedMetaLinkHoverColor;
}
}
& when (@variationItemFavorite) {
.ui.inverted.items > .item > .content .favorite.icon:hover {
color: @invertedFavoriteColor;
}
.ui.inverted.items > .item > .content .active.favorite.icon {
color: @invertedFavoriteActiveColor;
}
}
& when (@variationItemLike) {
.ui.inverted.items > .item > .content .like.icon:hover {
color: @invertedLikeColor;
}
.ui.inverted.items > .item > .content .active.like.icon {
color: @invertedLikeActiveColor;
}
}
& when (@variationItemExtra) {
.ui.inverted.items > .item .extra {
color: @invertedExtraColor;
}
}
& when (@variationItemHeader) {
.ui.inverted.items a.item:hover .content .header,
.ui.inverted.link.items > .item:hover .content .header {
color: @invertedHeaderLinkHoverColor;
}
}
& when (@variationItemDivided) {
.ui.inverted.divided.items > .item {
border-top: @invertedDividedBorder;
}
.ui.inverted.divided.items > .item:first-child {
border-top: none;
}
}
}
& when (@variationItemDisabled) {
.ui.disabled.items,
.ui.items > .disabled.item {
opacity: @disabledOpacity;
pointer-events: @disabledPointerEvents;
}
}
// stylelint-disable no-invalid-position-at-import-rule
@import (multiple, optional) "../../overrides.less";