本文整理汇总了C++中RenderStyle::alignSelf方法的典型用法代码示例。如果您正苦于以下问题:C++ RenderStyle::alignSelf方法的具体用法?C++ RenderStyle::alignSelf怎么用?C++ RenderStyle::alignSelf使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类RenderStyle
的用法示例。
在下文中一共展示了RenderStyle::alignSelf方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: adjustStyleForAlignment
void StyleAdjuster::adjustStyleForAlignment(RenderStyle& style, const RenderStyle& parentStyle)
{
bool isFlex = style.isDisplayFlexibleBox();
bool absolutePositioned = style.position() == AbsolutePosition;
// If the inherited value of justify-items includes the legacy keyword, 'auto'
// computes to the the inherited value.
// Otherwise, auto computes to:
// - 'stretch' for flex containers.
// - 'start' for everything else.
if (style.justifyItems() == ItemPositionAuto) {
if (parentStyle.justifyItemsPositionType() == LegacyPosition) {
style.setJustifyItems(parentStyle.justifyItems());
style.setJustifyItemsPositionType(parentStyle.justifyItemsPositionType());
} else if (isFlex) {
style.setJustifyItems(ItemPositionStretch);
}
}
// The 'auto' keyword computes to 'stretch' on absolutely-positioned elements,
// and to the computed value of justify-items on the parent (minus
// any legacy keywords) on all other boxes.
if (style.justifySelf() == ItemPositionAuto) {
if (absolutePositioned) {
style.setJustifySelf(ItemPositionStretch);
} else {
style.setJustifySelf(parentStyle.justifyItems());
style.setJustifySelfOverflowAlignment(parentStyle.justifyItemsOverflowAlignment());
}
}
// The 'auto' keyword computes to:
// - 'stretch' for flex containers,
// - 'start' for everything else.
if (style.alignItems() == ItemPositionAuto) {
if (isFlex)
style.setAlignItems(ItemPositionStretch);
}
// The 'auto' keyword computes to 'stretch' on absolutely-positioned elements,
// and to the computed value of align-items on the parent (minus
// any 'legacy' keywords) on all other boxes.
if (style.alignSelf() == ItemPositionAuto) {
if (absolutePositioned) {
style.setAlignSelf(ItemPositionStretch);
} else {
style.setAlignSelf(parentStyle.alignItems());
style.setAlignSelfOverflowAlignment(parentStyle.alignItemsOverflowAlignment());
}
}
}
示例2: adjustStyleForAlignment
void StyleAdjuster::adjustStyleForAlignment(RenderStyle& style, const RenderStyle& parentStyle)
{
if (style.justifyItems() == ItemPositionAuto) {
style.setJustifyItems(parentStyle.justifyItems());
style.setJustifyItemsPositionType(parentStyle.justifyItemsPositionType());
}
if (style.justifySelf() == ItemPositionAuto) {
style.setJustifySelf(parentStyle.justifyItems());
style.setJustifySelfOverflowAlignment(parentStyle.justifyItemsOverflowAlignment());
}
if (style.alignSelf() == ItemPositionAuto) {
style.setAlignSelf(parentStyle.alignItems());
style.setAlignSelfOverflowAlignment(parentStyle.alignItemsOverflowAlignment());
}
}