mirror of https://github.com/sveltejs/svelte
site: turn fancybutton into custombutton (#4476)
parent
dc3e9c4bed
commit
7831766fa0
@ -1,9 +1,9 @@
|
|||||||
<script>
|
<script>
|
||||||
import FancyButton from './FancyButton.svelte';
|
import CustomButton from './CustomButton.svelte';
|
||||||
|
|
||||||
function handleClick() {
|
function handleClick() {
|
||||||
alert('clicked');
|
alert('clicked');
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<FancyButton on:click={handleClick}/>
|
<CustomButton on:click={handleClick}/>
|
@ -0,0 +1,22 @@
|
|||||||
|
<style>
|
||||||
|
button {
|
||||||
|
height: 4rem;
|
||||||
|
width: 8rem;
|
||||||
|
background-color: #aaa;
|
||||||
|
border-color: #f1c40f;
|
||||||
|
color: #f1c40f;
|
||||||
|
font-size: 1.25rem;
|
||||||
|
background-image: linear-gradient(45deg, #f1c40f 50%, transparent 50%);
|
||||||
|
background-position: 100%;
|
||||||
|
background-size: 400%;
|
||||||
|
transition: background 300ms ease-in-out;
|
||||||
|
}
|
||||||
|
button:hover {
|
||||||
|
background-position: 0;
|
||||||
|
color: #aaa;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<button on:click>
|
||||||
|
Click me
|
||||||
|
</button>
|
@ -1,15 +0,0 @@
|
|||||||
<style>
|
|
||||||
button {
|
|
||||||
font-family: 'Comic Sans MS', cursive;
|
|
||||||
font-size: 2em;
|
|
||||||
padding: 0.5em 1em;
|
|
||||||
color: royalblue;
|
|
||||||
background: gold;
|
|
||||||
border-radius: 1em;
|
|
||||||
box-shadow: 2px 2px 4px rgba(0,0,0,0.5);
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<button on:click>
|
|
||||||
Click me
|
|
||||||
</button>
|
|
@ -1,9 +1,9 @@
|
|||||||
<script>
|
<script>
|
||||||
import FancyButton from './FancyButton.svelte';
|
import CustomButton from './CustomButton.svelte';
|
||||||
|
|
||||||
function handleClick() {
|
function handleClick() {
|
||||||
alert('clicked');
|
alert('clicked');
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<FancyButton on:click={handleClick}/>
|
<CustomButton on:click={handleClick}/>
|
@ -0,0 +1,22 @@
|
|||||||
|
<style>
|
||||||
|
button {
|
||||||
|
height: 4rem;
|
||||||
|
width: 8rem;
|
||||||
|
background-color: #aaa;
|
||||||
|
border-color: #f1c40f;
|
||||||
|
color: #f1c40f;
|
||||||
|
font-size: 1.25rem;
|
||||||
|
background-image: linear-gradient(45deg, #f1c40f 50%, transparent 50%);
|
||||||
|
background-position: 100%;
|
||||||
|
background-size: 400%;
|
||||||
|
transition: background 300ms ease-in-out;
|
||||||
|
}
|
||||||
|
button:hover {
|
||||||
|
background-position: 0;
|
||||||
|
color: #aaa;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<button>
|
||||||
|
Click me
|
||||||
|
</button>
|
@ -1,15 +0,0 @@
|
|||||||
<style>
|
|
||||||
button {
|
|
||||||
font-family: 'Comic Sans MS', cursive;
|
|
||||||
font-size: 2em;
|
|
||||||
padding: 0.5em 1em;
|
|
||||||
color: royalblue;
|
|
||||||
background: gold;
|
|
||||||
border-radius: 1em;
|
|
||||||
box-shadow: 2px 2px 4px rgba(0,0,0,0.5);
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<button>
|
|
||||||
Click me
|
|
||||||
</button>
|
|
@ -1,9 +1,9 @@
|
|||||||
<script>
|
<script>
|
||||||
import FancyButton from './FancyButton.svelte';
|
import CustomButton from './CustomButton.svelte';
|
||||||
|
|
||||||
function handleClick() {
|
function handleClick() {
|
||||||
alert('clicked');
|
alert('clicked');
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<FancyButton on:click={handleClick}/>
|
<CustomButton on:click={handleClick}/>
|
@ -0,0 +1,22 @@
|
|||||||
|
<style>
|
||||||
|
button {
|
||||||
|
height: 4rem;
|
||||||
|
width: 8rem;
|
||||||
|
background-color: #aaa;
|
||||||
|
border-color: #f1c40f;
|
||||||
|
color: #f1c40f;
|
||||||
|
font-size: 1.25rem;
|
||||||
|
background-image: linear-gradient(45deg, #f1c40f 50%, transparent 50%);
|
||||||
|
background-position: 100%;
|
||||||
|
background-size: 400%;
|
||||||
|
transition: background 300ms ease-in-out;
|
||||||
|
}
|
||||||
|
button:hover {
|
||||||
|
background-position: 0;
|
||||||
|
color: #aaa;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<button on:click>
|
||||||
|
Click me
|
||||||
|
</button>
|
@ -1,15 +0,0 @@
|
|||||||
<style>
|
|
||||||
button {
|
|
||||||
font-family: 'Comic Sans MS', cursive;
|
|
||||||
font-size: 2em;
|
|
||||||
padding: 0.5em 1em;
|
|
||||||
color: royalblue;
|
|
||||||
background: gold;
|
|
||||||
border-radius: 1em;
|
|
||||||
box-shadow: 2px 2px 4px rgba(0,0,0,0.5);
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<button on:click>
|
|
||||||
Click me
|
|
||||||
</button>
|
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 2.4 KiB |
@ -0,0 +1,2 @@
|
|||||||
|
class CustomButton extends HTMLButtonElement {}
|
||||||
|
customElements.define('custom-button', CustomButton, { extends: 'button' });
|
@ -1,2 +0,0 @@
|
|||||||
class FancyButton extends HTMLButtonElement {}
|
|
||||||
customElements.define('fancy-button', FancyButton, { extends: 'button' });
|
|
@ -1,7 +1,7 @@
|
|||||||
<svelte:options tag="custom-element"/>
|
<svelte:options tag="custom-element"/>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import './fancy-button.js';
|
import './custom-button.js';
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<button is="fancy-button">click me</button>
|
<button is="custom-button">click me</button>
|
Loading…
Reference in new issue