我正在尝试在图像周围包裹文本,如果我使用以下代码:
<div className="container">
<img src={myImageSource} alt="swimmer" height="300" width="300" style="float: left" />
<p> This is where the other text goes about the swimmer</p>
</div>
现在,我知道此style="float: left"
是html5。但是,如果我使用以下代码,则:
<div className="container">
<img src={myImageSource} alt="swimmer" height="300" width="300" align="left" />
<p> This is where the other text goes about the swimmer</p>
</div>
有效!为什么我不能在React中使用样式?
答案 0 :(得分:6)
您仍然可以在反应中使用样式。尝试:
style={{float: 'left'}}
答案 1 :(得分:4)
如果某个属性(例如“ align-self”)具有特殊字符,则还需要对属性名称使用单引号,例如
style={{'align-self':'flex-end'}}
您可能会看到警告“不支持的样式属性align-self。您是指alignSelf吗?”,但是样式已正确复制到生成的html align-self: flex-end;
。
答案 2 :(得分:1)
来自doc:
样式属性接受具有 camelCased属性(
style={{float: 'left'}}
)的JavaScript对象,而不是 CSS字符串(style="float: left"
)< / strong>。 这与DOM样式JavaScript属性一致,效率更高,并防止了XSS安全漏洞。
因此,您应该将其编写为:
<img src={myImageSource} alt="swimmer" height="300" width="300" style={{float: 'left'}} />
答案 3 :(得分:1)
问题是您通过String
而不是Object
传递样式。 React希望您以对象符号的形式传递样式:
style={{ float:`left` }} // Object literal notation
或另一种方式是:
const divStyle = {
margin: '40px',
border: '5px solid pink'
};
<div style={divStyle}> // Passing style as an object
答案 4 :(得分:0)
在样式类之前和之后添加'和对我有用的值。
答案 5 :(得分:0)
您可以以style={{float: 'left'}}
的形式编写内联样式
如果要使用多个属性,可以将其用作对象,如下所示,以防止出现皮棉错误。
const imgStyle = {
margin: '10px',
border: '1px solid #ccc',
float: 'left',
height: '300px',
width: '300px'
};
<div className="container">
<img src={imgStyle} alt="swimmer" />
<p> This is where the other text goes about the swimmer</p>
</div>
答案 6 :(得分:0)
<div className="container">
<img src={myImageSource} alt="swimmer" height="300" width="300" **style={{align:'left'}}** />
<p> This is where the other text goes about the swimmer</p>
</div>