我的图像在div中有问题。 这个带有swiper__content类的div为图像提供了一种底部填充,我无法看到导致这种效果的原因。我有100%的高度,没有填充或边距,所以它可能适合div
class NameForm extends React.Component {
constructor(props) {
super(props);
this.state = {
value1: '',
value2: '',
value3: '',
value4: '',
value5: '',
value6: '',
value7: '',
newValue: '',
submitted: false,
input1: 0,
input2: 0,
input3: 0,
input4: 0,
input5: 0,
input6: 0,
input7: 0,
display: 'block',
currentStep: 1
};
this.handleFirstChange = event => this.handleChange(event, 'value1');
this.handleSecondChange = event => this.handleChange(event, 'value2');
this.handleThirdChange = event => this.handleChange(event, 'value3');
this.handleFourthChange = event => this.handleChange(event, 'value4');
this.handleFifthChange = event => this.handleChange(event, 'value5');
this.handleSixthChange = event => this.handleChange(event, 'value6');
this.handleSeventhChange = event => this.handleChange(event, 'value7');
this.handleSubmit = event => this._handleSubmit(event);
}
handleChange(event, type) {
let newState = {};
newState[type] = event.target.value;
this.setState(newState);
}
_handleSubmit(event) {
event.preventDefault();
if (this.state.currentStep > 6) {
this.setState({ visible: !this.state.visible });
this.setState({ display: 'none' });
} else {
this.setState({ currentStep: this.state.currentStep + 1 });
}
}
inputHolderStyle(style, step) {
const displayProp = step === this.state.currentStep ? 'block' : 'none';
return {
background: `url(${style}) no-repeat center center`,
backgroundSize: 'cover',
display: displayProp
};
}
render() {
const divStyle = {
marginTop: '50px',
color: 'white',
top: '25px',
position: 'absolute',
width: '320px',
textAlign: 'center',
background: 'white',
padding: '1em',
borderRadius: '3px'
};
let question = null;
const show = this.state.visible;
if (show) {
question = (
<div>
<Crawler
properName1={this.state.value1}
noun1={this.state.value2}
properName2={this.state.value3}
properName3={this.state.value4}
noun2={this.state.value5}
personsName1={this.state.value6}
noun3={this.state.value7}
/>
</div>
);
}
return (
<MainContainer>
<div style={divStyle}>
<form
style={{ display: this.state.display }}
onSubmit={this.handleSubmit}
>
<InputHolder style={this.inputHolderStyle(ml1, 1)}>
<InputQuestion>Enter A Proper Noun</InputQuestion>
<label>
<InputStyle
name="input1"
type="text"
value={this.state.value1}
placeholder="Proper Noun"
onChange={this.handleFirstChange}
/>
<GrammarNerd>
a name used for an individual person, place, or organization, spelled with initial capital letters, e.g., Larry, Mexico, and Boston Red Sox.
</GrammarNerd>
</label>
</InputHolder>
<InputHolder style={this.inputHolderStyle(ml2, 2)}>
<InputQuestion>Enter A Noun</InputQuestion>
<label>
<InputStyle
name="input2"
type="text"
value={this.state.value2}
placeholder="Noun"
onChange={this.handleSecondChange}
/>
<GrammarNerd>
a word (other than a pronoun) used to identify any of a class of people, places, or things common noun, or to name a particular one of these proper noun.
</GrammarNerd>
</label>
</InputHolder>
<InputHolder style={this.inputHolderStyle(ml3, 3)}>
<InputQuestion>Enter A Proper Noun</InputQuestion>
<label>
<InputStyle
name="input3"
type="text"
placeholder="Enter a Proper Noun"
value={this.state.value3}
onChange={this.handleThirdChange}
/>
</label>
<GrammarNerd>
a name used for an individual person, place, or organization, spelled with initial capital letters, e.g., Larry, Mexico, and Boston Red Sox.
</GrammarNerd>
</InputHolder>
<InputHolder style={this.inputHolderStyle(ml3, 4)}>
<InputQuestion>Enter A Noun</InputQuestion>
<label>
<InputStyle
name="input4"
type="text"
placeholder="Enter a Proper Name"
value={this.state.value4}
onChange={this.handleFourthChange}
/>
<GrammarNerd>
a word (other than a pronoun) used to identify any of a class of people, places, or things common noun, or to name a particular one of these proper noun.
</GrammarNerd>
</label>
</InputHolder>
<InputHolder style={this.inputHolderStyle(ml3, 5)}>
<InputQuestion>Enter A Noun</InputQuestion>
<label>
<InputStyle
name="input5"
type="text"
placeholder="Enter a Noun"
value={this.state.value5}
onChange={this.handleFifthChange}
/>
<GrammarNerd>
a word (other than a pronoun) used to identify any of a class of people, places, or things common noun, or to name a particular one of these proper noun.
</GrammarNerd>
</label>
</InputHolder>
<InputHolder style={this.inputHolderStyle(ml3, 6)}>
<InputQuestion>A Woman's Name</InputQuestion>
<label>
<InputStyle
name="input6"
type="text"
placeholder="A Woman's Name"
value={this.state.value6}
onChange={this.handleSixthChange}
/>
</label>
<GrammarNerd>
a name used for an individual person, place, or organization, spelled with initial capital letters, e.g., Larry, Mexico, and Boston Red Sox.
</GrammarNerd>
</InputHolder>
<InputHolder style={this.inputHolderStyle(ml3, 7)}>
<InputQuestion>Noun</InputQuestion>
<label>
<InputStyle
name="input7"
type="text"
placeholder="Enter a Noun"
value={this.state.value7}
onChange={this.handleSeventhChange}
/>
</label>
<GrammarNerd>
a word (other than a pronoun) used to identify any of a class of people, places, or things common noun, or to name a particular one of these proper noun.
</GrammarNerd>
</InputHolder>
<InputHolderSubmit>
<SubmitButton type="submit" value="Submit" />
</InputHolderSubmit>
</form>
</div>
<NextQuestion>
{question}
</NextQuestion>
</MainContainer>
);
}
}
export default NameForm;
&#13;
.no-padding{
padding: 0px 0px !important;
}
.swiper {
margin: 0 auto 50px;
width: 40%;
text-align: center;
padding: 10px 20px;
font-size: 10vw;
line-height: 1;
position: relative;
overflow: hidden;
text-transform: uppercase;
font-family: "Impact";
cursor: pointer;
}
.swiper__content {
color: transparent;
display: block;
}
.swiper .swiper__content img{
opacity: 0;
width: 100%;
height: 100%;
transition: opacity 0s ease-in 0.5s;
-moz-transition: opacity 0s ease-in 0.5s;
-webkit-transition: opacity 0s ease-in 0.5s;
-o-transition: opacity 0s ease-in 0.5s;
}
.swiper__bar, .swiper__bar--right {
width: 100%;
height: 100%;
background: orange;
display: block;
position: absolute;
top: 0;
left: 0;
transform: translateX(-100%);
transition: 1s ease-in-out;
}
.swiper__bar--right {
transform: translateX(100%);
}
.swiper.revealed .swiper__content {
animation-name: kf-font-reveal;
animation-duration: 1s;
color: orange;
}
.swiper.revealed .swiper__content img{
opacity: 1;
}
&#13;
答案 0 :(得分:1)
为line-height: 0
课程设置swiper
。
.no-padding{
padding: 0px 0px !important;
}
.swiper {
margin: 0 auto 50px;
width: 40%;
text-align: center;
padding: 10px 20px;
font-size: 10vw;
line-height: 0;
position: relative;
overflow: hidden;
text-transform: uppercase;
font-family: "Impact";
cursor: pointer;
}
.swiper__content {
color: transparent;
display: block;
}
.swiper .swiper__content img{
opacity: 0;
width: 100%;
height: 100%;
transition: opacity 0s ease-in 0.5s;
-moz-transition: opacity 0s ease-in 0.5s;
-webkit-transition: opacity 0s ease-in 0.5s;
-o-transition: opacity 0s ease-in 0.5s;
}
.swiper__bar, .swiper__bar--right {
width: 100%;
height: 100%;
background: orange;
display: block;
position: absolute;
top: 0;
left: 0;
transform: translateX(-100%);
transition: 1s ease-in-out;
}
.swiper__bar--right {
transform: translateX(100%);
}
.swiper.revealed .swiper__content {
animation-name: kf-font-reveal;
animation-duration: 1s;
color: orange;
}
.swiper.revealed .swiper__content img{
opacity: 1;
}
<div class="swiper no-padding revealed">
<div class="swiper__content">
<img src="http://lorempicsum.com/futurama/350/200/1">
</div>
<span class="swiper__bar--right"></span>
</div>