本文整理匯總了TypeScript中@growcss/elaborate.rem函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript rem函數的具體用法?TypeScript rem怎麽用?TypeScript rem使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了rem函數的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: stripUnit
const cssBuilder = (
gutter: string | number,
negative: boolean,
gutterType: string,
gutterPosition: string[],
): string => {
let negativeBoolean = negative;
let operator = negativeBoolean ? '-' : '';
let isString = false;
let gutterSize = gutter;
if (typeof gutterSize === 'string') {
isString = true;
gutterSize = stripUnit(gutterSize);
}
const remValue = rem(+gutterSize / 2);
// If the value is already negative, remove the operator and set negative to true.
if (!isString && gutterSize < 0) {
negativeBoolean = true;
operator = '';
}
// If we have declared negative gutters, force type to `margin.
const gType = negativeBoolean ? 'margin' : gutterType;
let css = '';
for (const gutterPositionItem of gutterPosition) {
css += `${gType}-${gutterPositionItem}: ${operator}${remValue};`;
}
return css;
};
示例2: CellSize
export const CellProperties = (
size: string | number,
marginGutter: string | number,
vertical: boolean,
): string => {
const direction: string = vertical ? 'height' : 'width';
if (size === 'full') {
const val = marginGutter === 0 ? '100%' : `calc(100% - ${rem(marginGutter)})`;
return `${direction}: ${val};`;
}
if (size === 'auto' || size === 'shrink') {
return `${direction}: auto;`;
}
const val =
marginGutter === 0
? CellSize(size)
: `calc(${CellSize(size)} - ${rem(marginGutter)})`;
return `${direction}: ${val};`;
};
示例3: if
export const CellOffset = (
size: number | string,
breakpoint: string,
gutterType: string = 'margin',
vertical: boolean = false,
rtl: boolean = false,
gutters: GuttersProps = DefaultGutters,
mediaQueryOptions: MediaQueryOptionsProps = MediaQueryOptions,
): string => {
let direction;
if (vertical) {
direction = 'top';
} else if (rtl) {
direction = 'right';
} else {
direction = 'left';
}
let lastBreakpointName = 'small';
if (gutters[breakpoint] === undefined) {
for (const breakpointName in mediaQueryOptions.breakpoints) {
if (typeof breakpointName === 'string' && gutters[breakpointName] !== undefined) {
lastBreakpointName = breakpointName;
}
}
} else {
lastBreakpointName = breakpoint;
}
let lastBreakpoint: number;
if (typeof gutters[lastBreakpointName] === 'string') {
lastBreakpoint = +stripUnit(`${gutters[lastBreakpointName]}`);
} else {
lastBreakpoint = +gutters[lastBreakpointName];
}
const gutter = rem(lastBreakpoint / 2);
const gutterSize =
gutterType === 'margin' ? `calc(${CellSize(size)} + ${gutter})` : CellSize(size);
const css = `margin-${direction}: ${gutterSize};`;
return mediaquery(breakpoint, mediaQueryOptions)`${css}`;
};
示例4: rem
import { rem } from '@growcss/elaborate';
import { getGutterSize } from '../utils/get-gutter-size';
const gutters = {
small: `${getGutterSize(2)}px`,
medium: `${getGutterSize(3)}px`,
};
export default {
// Global width of your site. Used by the grid to determine row width.
maxWidth: rem(1200),
gutterBreakpoint: 'small',
marginGutters: gutters,
paddingGutters: gutters,
columns: 12,
};