0
CSSは必ずしも強いものではありませんが、なぜこれらの2つの要素をスタック化できないのかわかりません。私は親の位置をrelative
に設定し、子はabsolute
に設定しました。私は子供にもっと高いz-index
を与えますが、動作させることはできません。 <Icon />
は常に右にオフセットされています。スタックする要素を取得できません。
あなたは除算器の上にアイコンを配置するtop
とleft
を使用する必要があるコード
import React from 'react';
import PropTypes from 'prop-types';
import styled from 'styled-components';
const propTypes = {
iconName: PropTypes.string,
color: PropTypes.string,
};
const defaultProps = {
iconName: 'add_box',
color: '#27B678',
};
const MaterialIcon = props => (
<i className={`material-icons ${props.className}`}>
{props.iconName.replace(/['"]+/g, '')}
</i>
);
const Icon = styled(MaterialIcon)`
color: ${props => props.color.replace(/['"]+/g, '')};
font-size: 36px;
position: absolute;
z-index: 10;
top: 10%;
left: 0;
right: 0;
bottom: 0;
`;
const Divider = props => (
<div
className="mx2"
style={{ position: 'relative', border: '1px solid #ececec' }}
>
<Icon
iconName={props.iconName}
color={props.color}
/>
</div>
);
Divider.propTypes = propTypes;
Divider.defaultProps = defaultProps;
export default Divider;
親が相対位置を持ち、親内の他の要素で絶対値を使用している場合は、Z-インデックスは不要です。要素の位置を決めるのにtop、left、right、bottomを使用します – Keith