前端代码

This commit is contained in:
ChloeChen0423
2025-05-12 16:42:36 +09:00
commit 7c63f2f07b
4531 changed files with 656010 additions and 0 deletions

View File

@ -0,0 +1,62 @@
module.exports = function (grunt) {
grunt.initConfig({
dirs: {
css: "app/css",
scss: "app/scss"
},
watch: {
options: {
spawn: false
},
sass: {
files: '<%= dirs.scss %>/**/*.scss',
tasks: ['sass', 'autoprefixer', 'bsReload:css']
},
html: {
files: 'app/*.html',
tasks: ['bsReload:all']
}
},
sass: {
dev: {
files: {
'<%= dirs.css %>/main.css': '<%= dirs.scss %>/main.scss'
}
}
},
autoprefixer: {
options: {
browsers: ['last 5 versions', 'ie 8']
},
css: {
src: '<%= dirs.css %>/main.css',
dest: '<%= dirs.css %>/main.css'
}
},
browserSync: {
dev: {
options: {
server: "./app",
background: true
}
}
},
bsReload: {
css: {
reload: "main.css"
},
all: {
reload: true
}
}
});
// load npm tasks
grunt.loadNpmTasks('grunt-contrib-sass');
grunt.loadNpmTasks('grunt-autoprefixer');
grunt.loadNpmTasks('grunt-browser-sync');
grunt.loadNpmTasks('grunt-contrib-watch');
// define default task
grunt.registerTask('default', ['browserSync', 'watch']);
};

View File

@ -0,0 +1,44 @@
@-webkit-keyframes bounce {
0%, 20%, 53%, 80%, 100% {
-webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0); }
40%, 43% {
-webkit-transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
-webkit-transform: translate3d(0, -30px, 0);
transform: translate3d(0, -30px, 0); }
70% {
-webkit-transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
-webkit-transform: translate3d(0, -15px, 0);
transform: translate3d(0, -15px, 0); }
90% {
-webkit-transform: translate3d(0, -4px, 0);
transform: translate3d(0, -4px, 0); } }
@keyframes bounce {
0%, 20%, 53%, 80%, 100% {
-webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0); }
40%, 43% {
-webkit-transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
-webkit-transform: translate3d(0, -30px, 0);
transform: translate3d(0, -30px, 0); }
70% {
-webkit-transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
-webkit-transform: translate3d(0, -15px, 0);
transform: translate3d(0, -15px, 0); }
90% {
-webkit-transform: translate3d(0, -4px, 0);
transform: translate3d(0, -4px, 0); } }
.bounce {
-webkit-animation-name: bounce;
animation-name: bounce;
-webkit-transform-origin: center bottom;
-ms-transform-origin: center bottom;
transform-origin: center bottom; }

View File

@ -0,0 +1,11 @@
<!doctype html>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title>Browsersync, Grunt + SASS Example</title>
<link rel='stylesheet' href='css/main.css'>
</head>
<body>
<h1>Browsersync, Grunt + SASS Example</h1>
</body>
</html>

View File

@ -0,0 +1,25 @@
@keyframes bounce {
0%, 20%, 53%, 80%, 100% {
transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
transform: translate3d(0,0,0);
}
40%, 43% {
transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
transform: translate3d(0, -30px, 0);
}
70% {
transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
transform: translate3d(0, -15px, 0);
}
90% {
transform: translate3d(0,-4px,0);
}
}
.bounce {
animation-name: bounce;
transform-origin: center bottom;
}

View File

@ -0,0 +1,17 @@
This example shows how you can chain potentially slow-running tasks, but still achieve CSS
Injection. The trick, as seen below, is to use the `bsReload` task that now comes
bundled with `grunt-browser-sync` since `2.1.0`
Don't forget the `spawn: false` option for the watch task - it's a requirement
that allows Browsersync to work correctly
```js
watch: {
options: {
spawn: false // Important, don't remove this!
},
files: 'app/**/*.scss',
tasks: ['sass', 'autoprefixer', 'bsReload:css']
},
```

View File

@ -0,0 +1,18 @@
{
"name": "grunt.sass.autoprefixer",
"version": "1.0.0",
"description": "Grunt, SASS & Autoprefixer",
"main": "Gruntfile.js",
"scripts": {
"start": "grunt"
},
"author": "",
"license": "ISC",
"devDependencies": {
"grunt": "^0.4.5",
"grunt-autoprefixer": "^2.2.0",
"grunt-browser-sync": "^2.1.1",
"grunt-contrib-sass": "^0.9.2",
"grunt-contrib-watch": "^0.6.1"
}
}

View File

@ -0,0 +1,114 @@
#Browsersync - Grunt, SASS &amp; Autoprefixer
## Installation/Usage:
To try this example, follow these 4 simple steps.
**Step 1**: Clone this entire repo
```bash
$ git clone https://github.com/Browsersync/recipes.git bs-recipes
```
**Step 2**: Move into the directory containing this example
```bash
$ cd bs-recipes/recipes/grunt.sass.autoprefixer
```
**Step 3**: Install dependencies
```bash
$ npm install
```
**Step 4**: Run the example
```bash
$ npm start
```
### Additional Info:
This example shows how you can chain potentially slow-running tasks, but still achieve CSS
Injection. The trick, as seen below, is to use the `bsReload` task that now comes
bundled with `grunt-browser-sync` since `2.1.0`
Don't forget the `spawn: false` option for the watch task - it's a requirement
that allows Browsersync to work correctly
```js
watch: {
options: {
spawn: false // Important, don't remove this!
},
files: 'app/**/*.scss',
tasks: ['sass', 'autoprefixer', 'bsReload:css']
},
```
### Preview of `Gruntfile.js`:
```js
module.exports = function (grunt) {
grunt.initConfig({
dirs: {
css: "app/css",
scss: "app/scss"
},
watch: {
options: {
spawn: false
},
sass: {
files: '<%= dirs.scss %>/**/*.scss',
tasks: ['sass', 'autoprefixer', 'bsReload:css']
},
html: {
files: 'app/*.html',
tasks: ['bsReload:all']
}
},
sass: {
dev: {
files: {
'<%= dirs.css %>/main.css': '<%= dirs.scss %>/main.scss'
}
}
},
autoprefixer: {
options: {
browsers: ['last 5 versions', 'ie 8']
},
css: {
src: '<%= dirs.css %>/main.css',
dest: '<%= dirs.css %>/main.css'
}
},
browserSync: {
dev: {
options: {
server: "./app",
background: true
}
}
},
bsReload: {
css: {
reload: "main.css"
},
all: {
reload: true
}
}
});
// load npm tasks
grunt.loadNpmTasks('grunt-contrib-sass');
grunt.loadNpmTasks('grunt-autoprefixer');
grunt.loadNpmTasks('grunt-browser-sync');
grunt.loadNpmTasks('grunt-contrib-watch');
// define default task
grunt.registerTask('default', ['browserSync', 'watch']);
};
```