diff --git a/modules/markup/html.go b/modules/markup/html.go
index d5ae237b5b..746830720d 100644
--- a/modules/markup/html.go
+++ b/modules/markup/html.go
@@ -94,7 +94,7 @@ var issueFullPatternOnce sync.Once
 func getIssueFullPattern() *regexp.Regexp {
 	issueFullPatternOnce.Do(func() {
 		issueFullPattern = regexp.MustCompile(regexp.QuoteMeta(setting.AppURL) +
-			`\w+/\w+/(?:issues|pulls)/((?:\w{1,10}-)?[1-9][0-9]*)([\?|#]\S+.(\S+)?)?\b`)
+			`\w+/\w+/(?:issues|pulls)/((?:\w{1,10}-)?[1-9][0-9]*)([\?|#](\S+)?)?\b`)
 	})
 	return issueFullPattern
 }
diff --git a/modules/markup/html_internal_test.go b/modules/markup/html_internal_test.go
index dbad350de2..f9ef90744b 100644
--- a/modules/markup/html_internal_test.go
+++ b/modules/markup/html_internal_test.go
@@ -265,6 +265,10 @@ func TestRender_FullIssueURLs(t *testing.T) {
 		`person/repo#4`)
 	test("http://localhost:3000/gogits/gogs/issues/4",
 		`#4`)
+	test("http://localhost:3000/gogits/gogs/issues/4 test",
+		`#4 test`)
+	test("http://localhost:3000/gogits/gogs/issues/4?a=1&b=2#comment-123 test",
+		`#4 test`)
 }
 
 func TestRegExp_sha1CurrentPattern(t *testing.T) {
diff --git a/web_src/less/markup/content.less b/web_src/less/markup/content.less
index 8d9858f0df..e86e2d9f99 100644
--- a/web_src/less/markup/content.less
+++ b/web_src/less/markup/content.less
@@ -158,9 +158,12 @@
 
   .task-list-item {
     list-style-type: none;
+    position: relative;
 
     input[type="checkbox"] {
-      margin: 0 6px .25em -1.6em;
+      position: absolute;
+      top: .25em;
+      left: -1.6em;
     }
   }