Есть несколько вещей, которые я заметил как проблема в вашем коде.
- Вы передаете
.p { ...
в уравнении, которое не является селектором класса, но должно было быть селектором элемента, подобнымp { ...
- Ваша реакция
div
должна использовать className
, чтобы применить этот эффект
Вот изменения кода песочницы: https://codesandbox.io/s/emotion-xh53z?fontsize=14
Просто скопируйте сюда для справки:
import React from "react";
import { render } from "react-dom";
import { css } from "react-emotion";
const fraction = css`
display: inline-block;
position: relative;
vertical-align: middle;
letter-spacing: 0.0001em;
text-align: center;
.num {
display: block;
padding: 0;
height: 30px;
line-height: 12px;
}
.bottom {
border-top: thin solid black;
}
.symbol {
display: none;
}
`;
// Notice the p inside the equation
const equation = css`
p {
font-size: large !important;
}
`;
// Rather than css={}, you should be using className={}
const App = () => (
<div className={equation}>
<p>
P (1 +
<p className={fraction}>
<span className="num">1</span>
<span className="symbol">/</span>
<span className="bottom">2</span>
</p>
)<sup>(nt)</sup>
</p>
</div>
);
render(<App />, document.getElementById("root"));
Я также переместил закрывающий тег </p>
в последний раз, чтобы убедиться, что он применяется согласно inline-block
Обновлено 1:
Вот последняя обновленная версия: https://codesandbox.io/s/emotion-1tjc7
Согласно их последнему блогу , вы должны использовать:
import styled from '@emotion/styled'
import { css } from 'emotion'
вместо import styled, { css } from 'react-emotion'
Обновление 2:
Если вы не можете использовать ванильные эмоции, тогда вы можете использовать следующее:
import styled from "@emotion/styled";
/** @jsx jsx */
import { css, jsx } from "@emotion/core";
Согласно их документации :
Есть 2 способа начать работу с css prop.
- BaBel Preset (не может использоваться в Create-React-App или CodeSandbox)
- JSX Pragma (это включает просто добавление вышеупомянутых строк кода)
Я обновилодинаковые коды и коробки: https://codesandbox.io/s/emotion-0z3vz