html+css3实现放大镜效果 (2021-08-25)

html-css018

html+css3实现放大镜效果 (2021-08-25),第1张

    1、给body添加背景图,在body中添加一个父盒子(父盒子开启绝对定位),父盒子中再添加一个子盒子。

    2、给window添加鼠标移动事件,根据鼠标在浏览器中的坐标(clientX和clientY)修改父盒子的top和left,以达到移动镜面的效果。

    3、给子盒子添加背景图(和body背景图一致),在window的鼠标移动事件中修改子盒子的样式——background-position,改变子盒子中的背景图在盒子中的显示位置,使背景图的显示与body一致。

    4、再给子盒子添加缩放(transform:scale(2)),即可实现放大功能。

    1、由于背景图无法设置透明度,所以使用body的伪元素,给伪元素添加背景图和opacity属性。

    2、这时虽然给背景设置上了透明的,但却是发白的那种透明,要想变成暗沉的透明,只需要给body添加背景颜色就行。

    3、background-position的使用,由于是要将背景的选中位置移动到盒子的中心,所以使用的是负值。

<!DOCTYPE html>

<html lang="en">

<head>

  <meta charset="UTF-8">

  <meta http-equiv="X-UA-Compatible" content="IE=edge">

  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <title>Document</title>

  <style>

    body {

      padding: 0

      background-color: #000

      margin: 0

    }

    body::after{

      display: block

      position: absolute

      top: 0

      left: 0

      content: ''

      width: 100%

      height: 100%

      background-image: url('伊芙琳.jpg')

      background-position: 0px 0px

      background-size: 100% auto

      opacity: 0.1

    }

    .magnifier {

      width: 300px

      height: 300px

      background-image: url('伊芙琳.jpg')

      background-size: 1730px auto

      background-position: 0px 0px

      transform: scale(2)

      margin: 0

      position: relative

      z-index: 100

    }

    .main {

      width: 300px

      height: 300px

      border-radius: 50%

      overflow: hidden

      position: absolute

    }

  </style>

</head>

<body>

  <div class="main">

    <div class="magnifier"></div>

  </div>

  <script>

    let flag = true

    let magnifier = document.getElementsByClassName('magnifier')[0]

    let main = document.getElementsByClassName('main')[0]

    let boxLeft = 0

    let boxTop = 0

    window.onmousemove = (event) => {

      if(!flag) return

      setTimeout( ()=>{

          flag = true

      },50)

      console.log(event.clientX, event.clientY)

      if(event.clientX > 1590) {

        event.clientX = 1590 

      }

      boxLeft =  event.clientX > 1590 ? '1440px' : event.clientX > 150 ? event.clientX - 150 + 'px':'0px'

      boxTop = event.clientY > 720 ? '575px' : event.clientY > 150 ? event.clientY - 150 + 'px':'0px'

      main.style.left = boxLeft

      main.style.top = boxTop

      // magnifier.style.backgroundPosition = '830px 570px'

      magnifier.style.backgroundPosition = '-' + boxLeft + ' ' + '-' + boxTop

      flag = false

    }

  </script>

</body>

</html>

html中图片以中心放大的代码如下:

<div style=" width:300px height:300pxmargin-left:auto

margin-right:auto overflow:hidden margin-top:100px">

<img id="img" onmouseover="bigger()" onmouseout="smaller()"

src="http://mat1.gtimg.com/www/images/qq2012/guanjia2.png"

style="cursor:pointerwidth:300pxheight:300px

transition:all 1s ease-out 0s perspective-origin:bottom"/>

<script type="text/javascript">

var img = document.getElementById('img')

function bigger(){

img.style.width = '400px'

img.style.height = '400px'

img.style.marginTop = "-50px"

img.style.marginLeft = "-50px"

}

function smaller(){

img.style.width = '300px'

img.style.height = '300px'

img.style.marginTop = "0px"

img.style.marginLeft = "0px"

}

</script>

扩展资料:

在html中用js实现鼠标指向图片时图片放大的效果的代码如下:

<img id="img" onmouseover="bigger()" onmouseout="smaller()"

src="你的图片路径" style="width:100pxheight:100px" />

<script type="text/javascript">

var img = document.getElementById('img')

function bigger(){  img.style.width = '400px'  img.style.height = '400px' }

function smaller(){  img.style.width = '100px'  img.style.height = '100px' }

</script>

1. 怎么让html字体变大

让html字体变大,分成几个步骤:

1. 在浏览器中查看信息,可以通过浏览器自带的调节大小的功能来调节字体的大小。

2. 然后在浏览器的右下角有一个百分比的选项,右边有一个小箭头,这就是调节大小的功能区域。点击一下右边的这个小箭头。

3. 在弹出的一系列选项中,点击其中一个,比如200%,说明此网页的字体将变大一倍,当然有很多其他的选项,也可以自定义大小。

4. 点击之后,网页的字体开始变得很大,比之前大了一倍,这样我们就可以很清楚地看清网页信息的内容。

<p onm ouseover="this.style.fontSize=33" onm ouseout="this.style.fontSize=60" onm ouseup="this.style.fontSize=33">

</p><!-- onclick 脚本 当鼠标被单击时执行脚本 ondblclick 脚本 当鼠标被双击时执行脚本 onm ousedown 脚本 当鼠标按钮被按下时执行脚本 onm ousemove 脚本 当鼠标指针移动时执行脚本 onm ouseout 脚本

2. html 如何改变字体的大小与颜色

可以为后半句单独设置css样式。

1、新建html文件,在body中添加p标签,这里内容以“窗前明月光,疑是地上霜。”为例,然后给后半句“疑是地上霜”添加span标签:

2、在head标签中添加style标签,然后给span标签设置“color”属性,属性值为“red”,这时后半句颜色就会变成红色:

3、继续给span标签设置“font-size”属性,属性值为“12px”,这时后半句的字体大小将会变成12号:

3. html怎样在每行中改变字体的大小

两种方法:

1、用左键把您要改变字体大小的字符选中(拖黑或拖蓝),然后直接用右键点击它(它们),就会弹出右键下拉菜单,在这个菜单中选点“字体”,又会切换出“字体”对话框,这时您就可以像使用Word那样,在这个对话框的右边调整字号(磅)或者字体的像素(TX),改变字体大小,甚至还可以改变字体颜色。

2、同样用左键把您要改变字体大小的字符选中(拖黑或拖蓝),然后在工作界面上方点击“格式”,在切换出来的对话框里,同样选点“字体”,然后就像上面说的方法,调整字体大小和颜色。

4. html页面字体如何随页面大小改变而改变

<!DOCTYPE html>

<html>

<head>

<title></title>

<meta charset=utf-8>

<style type=text/css>

#d{

font-size:5em

}

body{

Font-size:25%

}

</style>

</head>

<body>

<div id="d">

使用em作为单位而不用px,em是相对长度,可由通过body选择器中Font-size调节

</div>

</body>

</html>

5. html怎么设置字体大小和颜色

1、先在HTML网页编写一些测试的文字。

2、然后在网页预览文字初始的字体效果,颜色是黑色,大小比较小。 3、因为测试文字是在body标签内的,所以我们要对body标签设置css属性就可以了。

4、我们可以用font-family来设置HTML网页字体的类型,比如这里我设置为“华文楷体”。 5、再去看文字的变化效果,文字变成了华文楷体类型,比原先的好看多了。

6、然后color可以改变文字的颜色,比如我就设置它为red,意思表示的是红颜色。 7、这样,文字的颜色就会由黑色变成红色了哦。

8、而font-size可以设置文字的大小,我设置成38px,表示38像素大小。 9、最后来看看,文字变得比原来大了很多。

这样我们就实现了设置HTML文字的类型,颜色及大小的目的。 。

6. 什么代码可以把字变大

可以用font这个元素及其属性来设定字体的大小。

例如用百字体大小属性(size)来设定字体的大小,示例代码如下: 这一段的度字体大小的值是2。 数字代表大小。

越大的数字代表字体更大。 扩展资料:专 更改字体大小代码示例: 字体大小 font size<body>这段文字的属字体大小值为1。

这段文字的字体大小值为3。 这段文字的字体大小值为4。