0
我試圖擴展圖像雙重當點擊放大按鈕,
半圖像時點擊縮小按鈕CSS變換比額表,切斷圖像
我的問題是,當點擊放大-in按鈕(因此,圖像大小是雙倍的)
並且如果它的大小超過容器,圖像的左側(或圖像的頂側)被切斷。
我該怎麼辦?
同樣的問題在這裏,CSS Transform scale scrolling issue ...但它不是一個好主意。
因爲它規模也注重「左上方」當縮小 形象,讓居中對齊是不可能的
(我想申請改變:使用變換原點規模(..):中心)
我知道的唯一方法就是每次都計算圖像大小,並將保證金用於截止,但難以應用
有什麼想法嗎? :o
代碼看起來像這樣。
constructor() {
super()
this._refs = { ratio: 100 }
}
getImageStyle() {
return {
transform: scale(calc(${this.state.ratio}/100)),
'transform-origin': 'center'
}
}
zoomIn() {
this.setState({ ratio: this.state.ratio + 25 })
}
zoomIn() {
this.setState({ ratio: this.state.ratio - 25 })
}
render() {
const { src } = this.props
return (
<div
className={styles.wrapper}
<img
style={this.getImageStyle()}
ref={(elem) => setRefToNode(this._refs, 'image', elem)}
className={styles.image}
src={src} />
</div>
)
}
和CSS。
.wrapper {
display: flex;
position: relative;
width: 100%;
height: 100%;
align-items: center;
justify-content: center;
overflow: scroll;
.image {
position: relative;
max-width: 100%;
max-height: 100%;
background-color: white;
}
}
問題尋求幫助的代碼必須包括必要的重現它最短的代碼**在問題本身**最好在[**堆棧片段**](https://開頭博客.stackoverflow.com/2014/09 /引入可運行的JavaScript-CSS-和HTML的代碼段/)。請參閱[**如何創建最小,完整和可驗證的示例**](http://stackoverflow.com/help/mcve) –